The recording of the first ever ReactiveUI virtual conference is available on our YouTube Channel.

Optional<T> Struct

Summary

The equivalent of a nullable type which works on value and reference types.
Namespace
DynamicData.Kernel
Interfaces
Base Types
  • object
  • ValueType
graph BT Type-->Base0["ValueType"] Base0-->Base1["object"] Type-.->Interface0["IEquatable<Optional<T>>"] Type["Optional<T>"] class Type type-node

Syntax

[SuppressMessage("Naming", "CA1716:Identifiers should not match keywords", Justification = "Deliberate usage.")]
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "SA1402:File may only contain a single type", Justification = "Class names the same, generic differences.")]
public readonly struct Optional<T> : ValueType, IEquatable<Optional<T>>

Attributes

Type Description
SuppressMessageAttribute
SuppressMessageAttribute

Type Parameters

Name Description
T The underlying value type of the System.Nullable`1 generic type.

Properties

Name Value Summary
HasValue bool
Gets a value indicating whether the current System.Nullable`1 object has a value.
None Optional<T>
Gets the default valueless optional.
static
Value T
Gets the value of the current System.Nullable`1 value.

Methods

Name Value Summary
Create(T?) Optional<T>
Creates the specified value.
static
Equals(object?) bool
Equals(Optional<T>) bool
FromOptional(Optional<T>) T?
Gets the value from the optional value.
static
GetHashCode() int
ToOptional(T?) Optional<T>
Gets the optional from a value.
static
ToString() string?

Operators

Name Value Summary
explicit operator T?(Optional<T>) T?
implicit operator Optional<T>(T?) Optional<T>
operator !=(Optional<T>, Optional<T>) bool
operator ==(Optional<T>, Optional<T>) bool

Extension Methods

Name Value Summary
BindValidation<Optional<T>, TViewModel, TViewModelProperty, TViewProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, Expression<Func<Optional<T>, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the specified ViewModel property validation to the View property.
BindValidation<Optional<T>, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<Optional<T>, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<Optional<T>, TViewModel, TViewProperty>(TViewModel?, Expression<Func<Optional<T>, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the overall validation of a ViewModel to a specified View property.
BindValidation<Optional<T>, TViewModel, TViewProperty>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper>>, Expression<Func<Optional<T>, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds a ValidationHelper from a ViewModel to a specified View property.
BindValidation<Optional<T>, TViewModel>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<Optional<T>, TViewModel>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<Optional<T>, TViewModel, TViewModelProperty, TViewProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, Expression<Func<Optional<T>, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the specified ViewModel property validation to the View property.
BindValidationEx<Optional<T>, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<Optional<T>, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
Convert<T, TDestination>(Func<T, TDestination>) Optional<TDestination>
Converts the specified source.
ConvertOr<T, TDestination>(Func<T?, TDestination?>, Func<TDestination?>) TDestination?
Converts the option value if it has a value, otherwise returns the result of the fallback converter.
IfHasValue<T>(Action<T>) OptionElse
Invokes the specified action when.
InvokeViewModelAction<T>(Action<T>) object
This is a thing I lifted from Prism.
ObservableForProperty<Optional<T>, TValue>(Expression<Func<Optional<T>, TValue>>, bool, bool) IObservable<IObservedChange<TSender, TValue>>
ObservableForProperty returns an Observable representing the property change notifications for a specific property on a ReactiveObject. This method (unlike other Observables that return IObservedChange) guarantees that the Value property of the IObservedChange is set.
SubscribeToExpressionChain<Optional<T>, TValue>(Expression, bool, bool, bool) IObservable<IObservedChange<TSender, TValue>>
Creates a observable which will subscribe to the each property and sub property specified in the Expression. eg It will subscribe to x => x.Property1.Property2.Property3 each property in the lambda expression. It will then provide updates to the last value in the chain.
ValueOr<T>(Func<T>) T
Returns the value if the optional has a value, otherwise returns the result of the value selector.
ValueOrDefault<T>() T?
Returns the value if the optional has a value, otherwise returns the default value of T.
ValueOrThrow<T>(Func<Exception>) T
Returns the value if the optional has a value, otherwise throws an exception as specified by the exception generator.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Expression<Func<Optional<T>, T10>>, Expression<Func<Optional<T>, T11>>, Expression<Func<Optional<T>, T12>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, IObservedChange<Optional<T>, T7>, IObservedChange<Optional<T>, T8>, IObservedChange<Optional<T>, T9>, IObservedChange<Optional<T>, T10>, IObservedChange<Optional<T>, T11>, IObservedChange<Optional<T>, T12>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Expression<Func<Optional<T>, T10>>, Expression<Func<Optional<T>, T11>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, IObservedChange<Optional<T>, T7>, IObservedChange<Optional<T>, T8>, IObservedChange<Optional<T>, T9>, IObservedChange<Optional<T>, T10>, IObservedChange<Optional<T>, T11>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Expression<Func<Optional<T>, T10>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, IObservedChange<Optional<T>, T7>, IObservedChange<Optional<T>, T8>, IObservedChange<Optional<T>, T9>, IObservedChange<Optional<T>, T10>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, IObservedChange<Optional<T>, T7>, IObservedChange<Optional<T>, T8>, IObservedChange<Optional<T>, T9>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, IObservedChange<Optional<T>, T7>, IObservedChange<Optional<T>, T8>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, IObservedChange<Optional<T>, T7>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, IObservedChange<Optional<T>, T6>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4, T5>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, IObservedChange<Optional<T>, T5>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3, T4>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, IObservedChange<Optional<T>, T4>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2, T3>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, IObservedChange<Optional<T>, T3>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1, T2>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Func<IObservedChange<Optional<T>, T1>, IObservedChange<Optional<T>, T2>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAny<Optional<T>, TRet, T1>(Expression<Func<Optional<T>, T1>>, Func<IObservedChange<Optional<T>, T1>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Expression, Func<IObservedChange<Optional<T>, object>, IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyDynamic<Optional<T>, TRet>(Expression, Func<IObservedChange<Optional<T>, object>, TRet>) IObservable<TRet>
WhenAny allows you to observe whenever one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>) IObservable<(T1, T2, T3, T4, T5, T6, T7)>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, T1, T2, T3, T4, T5, T6>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>) IObservable<(T1, T2, T3, T4, T5, T6)>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, T1, T2, T3, T4, T5>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>) IObservable<(T1, T2, T3, T4, T5)>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, T1, T2, T3, T4>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>) IObservable<(T1, T2, T3, T4)>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, T1, T2, T3>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>) IObservable<(T1, T2, T3)>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, T1, T2>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>) IObservable<(T1, T2)>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Expression<Func<Optional<T>, T10>>, Expression<Func<Optional<T>, T11>>, Expression<Func<Optional<T>, T12>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Expression<Func<Optional<T>, T10>>, Expression<Func<Optional<T>, T11>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Expression<Func<Optional<T>, T10>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Expression<Func<Optional<T>, T9>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Expression<Func<Optional<T>, T8>>, Func<T1, T2, T3, T4, T5, T6, T7, T8, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Expression<Func<Optional<T>, T7>>, Func<T1, T2, T3, T4, T5, T6, T7, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Expression<Func<Optional<T>, T6>>, Func<T1, T2, T3, T4, T5, T6, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4, T5>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Expression<Func<Optional<T>, T5>>, Func<T1, T2, T3, T4, T5, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3, T4>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Expression<Func<Optional<T>, T4>>, Func<T1, T2, T3, T4, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2, T3>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Expression<Func<Optional<T>, T3>>, Func<T1, T2, T3, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1, T2>(Expression<Func<Optional<T>, T1>>, Expression<Func<Optional<T>, T2>>, Func<T1, T2, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet, T1>(Expression<Func<Optional<T>, T1>>, Func<T1, TRet>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of one or more properties on an object have changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
WhenAnyValue<Optional<T>, TRet>(Expression<Func<Optional<T>, TRet>>) IObservable<TRet>
WhenAnyValue allows you to observe whenever the value of a property on an object has changed, providing an initial value when the Observable is set up, unlike ObservableForProperty(). Use this method in constructors to set up bindings between properties that also need an initial setup.
With<Optional<T>, TKey, TField>(Dictionary<TKey, TField>, IDictionary<TKey, TField>) TBuilder
Adds the specified dictionary to the provided dictionary.