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
-
IObservable<T>
- Derived
- Inherited Members
- Extension Methods
Constructors
ObservableValue(T)
Initialize new ObservableValue<T> instance.
protected ObservableValue(T initialValue = default)
Parameters
initialValue
TInitial value.
Properties
HasObservers
Check whether at least one IObserver<T> has been subscribed to this instance or not.
public bool HasObservers { get; }
Property Value
IsNotNull
Check whether value is not null or not.
public bool IsNotNull { get; }
Property Value
IsNull
Check whether value is null or not.
public bool IsNull { get; }
Property Value
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
TFirst value.
y
TSecond 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>
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>
Returns
- T