Table of Contents

Class ObservableValue<T>

Namespace
CarinaStudio
Assembly
CarinaStudio.AppBase.Core.dll

Value which is observable.

public abstract class ObservableValue<T> : IObservable<T>

Type Parameters

T

Type of value.

Inheritance
ObservableValue<T>
Implements
Derived
Inherited Members
Extension Methods

Constructors

ObservableValue(T)

Initialize new ObservableValue<T> instance.

protected ObservableValue(T initialValue = default)

Parameters

initialValue T

Initial value.

Properties

HasObservers

Check whether at least one IObserver<T> has been subscribed to this instance or not.

public bool HasObservers { get; }

Property Value

bool

IsNotNull

Check whether value is not null or not.

public bool IsNotNull { get; }

Property Value

bool

IsNull

Check whether value is null or not.

public bool IsNull { get; }

Property Value

bool

Value

Get or set value.

public T Value { get; protected set; }

Property Value

T

Methods

CheckValuesEquality(T, T)

Check equality of values.

protected virtual bool CheckValuesEquality(T x, T y)

Parameters

x T

First value.

y T

Second value.

Returns

bool

True if two values are equivalent.

Subscribe(IObserver<T>)

Subscribe IObserver<T> to get notification of change of value.

public IDisposable Subscribe(IObserver<T> observer)

Parameters

observer IObserver<T>

IObserver<T>.

Returns

IDisposable

IDisposable represents subscribed IObserver<T>.

ToString()

Convert to readable string.

public override string? ToString()

Returns

string

Readable string.

Operators

explicit operator T(ObservableValue<T>)

Convert to value itself explicitly.

public static explicit operator T(ObservableValue<T> value)

Parameters

value ObservableValue<T>

ObservableValue<T>.

Returns

T