Table of Contents

Class ViewModelRegistryGenerator

Namespace
Dmnk.Blazor.Mvvm.SourceGen
Assembly
Dmnk.Blazor.Mvvm.SourceGen.dll

Generates automatic ViewModel-to-View registrations for types marked with [ViewModelFor] attribute.

public class ViewModelRegistryGenerator : IIncrementalGenerator
Inheritance
ViewModelRegistryGenerator
Implements
IIncrementalGenerator
Inherited Members

Examples

MyViewModel.cs:

[ViewModelFor(typeof(MyView))]
public class MyViewModel : INotifyPropertyChanged { ... }

MyView.razor:

@inherits MvvmComponentBase<MyViewModel>
...

Program.cs:

// ...
ServiceProvider provider = services.BuildServiceProvider();

var registry = provider.GetRequiredService<IViewModelRegistry>();
My.Namespace.Containing.MyViewModel.SourceGeneratedViewModelRegistrations.Register(registry);

MyDynamicView.razor:

<RegisteredViewFor Vm="myDynamicViewModel" />

Constructors

ViewModelRegistryGenerator()

public ViewModelRegistryGenerator()

Methods

Initialize(IncrementalGeneratorInitializationContext)

public void Initialize(IncrementalGeneratorInitializationContext context)

Parameters

context IncrementalGeneratorInitializationContext