ObservableAsProperty without ceremony

Computed Observable Properties

Turn observable calculations into normal readable properties.

Explore source
Parent systemReactiveGenerator
StatusMaintained
Modules1
RepositoryReactiveGenerator/ObservableAsPropertyHelperGenerator.cs

ObservableAsProperty attributes generate read-only computed properties and helpers, while generated WhenAny methods make reactive dependency pipelines concise and type-safe.

  1. 01

    Generated ObservableAsPropertyHelper storage

  2. 02

    Generated WhenAny extension methods

  3. 03

    Computed validation and collection state

  4. 04

    ReactiveUI-compatible pipelines

From intent
to working system.

01

Declare

A read-only partial property marks the computed output.

02

Generate

The helper field, getter, and typed observable helpers join the type.

03

Compose

Reactive operators calculate values from source properties.

04

Notify

The generated property participates in normal binding updates.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package ReactiveGenerator
02 · Use · csharp
QuickStart.cs
[ObservableAsProperty]
public partial string FullName { get; }
public ProfileViewModel() =>
this.WhenAnyFirstName()
.CombineLatest(this.WhenAnyLastName())
.Select(x => $"{x.First} {x.Second}")
.ToProperty(this, x => x.FullName);

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

ReactiveGenerator

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…