SourceCrafter.ViewModelGenerator
3.26.108.64
dotnet add package SourceCrafter.ViewModelGenerator --version 3.26.108.64
NuGet\Install-Package SourceCrafter.ViewModelGenerator -Version 3.26.108.64
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SourceCrafter.ViewModelGenerator" Version="3.26.108.64" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SourceCrafter.ViewModelGenerator" Version="3.26.108.64" />
<PackageReference Include="SourceCrafter.ViewModelGenerator" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SourceCrafter.ViewModelGenerator --version 3.26.108.64
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SourceCrafter.ViewModelGenerator, 3.26.108.64"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SourceCrafter.ViewModelGenerator@3.26.108.64
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SourceCrafter.ViewModelGenerator&version=3.26.108.64
#tool nuget:?package=SourceCrafter.ViewModelGenerator&version=3.26.108.64
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
✨ SourceCrafter.ViewModelGenerator: Simple partial classes for observable view models
Given the following spec interface
[Reactive]
public partial class AppManager
{
public partial User? User { get; set; }
public partial Authentication? Authentication { get; set; }
public bool IsAuthenticated => Authentication is { Token.Length: 0 } or { CanLogin: false };
}
should generates the following view model class (based on the previous definition example):
//<auto generated>
#nullable enable
namespace FacilCuba.ViewModels;
public partial class AppManager : global::SourceCrafter.Mvvm.ViewModelBase
{
public partial global::SourceCrafter.ViewModel.UnitTests.User? User
{
get;
set
{
if(Equals(value, field))
return;
field = value;
OnPropertyChanged(new("User"));
}
}
public partial global::FacilCuba.ViewModels.Authentication? Authentication
{
get;
set
{
if(Equals(value, field))
return;
field = value;
NotifyChange(new("Authentication"));
}
}
protected void NotifyChange(global::System.ComponentModel.PropertyChangedEventArgs evtArgs)
{
OnPropertyChanged(evtArgs);
switch(evtArgs.PropertyName)
{
case "Authentication":
(Authentication as global::SourceCrafter.Mvvm.IObservable)?.Subscribe((s0, e0) =>
{
switch(e0.PropertyName)
{
case "Token":
OnPropertyChanged(new("Authentication"));
OnPropertyChanged(new("IsAuthenticated"));
break;
case "CanLogin":
OnPropertyChanged(new("Authentication"));
OnPropertyChanged(new("IsAuthenticated"));
break;
}
});
OnPropertyChanged(new("IsAuthenticated"));
break;
}
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.26.108.64 | 105 | 4/18/2026 |
| 3.26.108.55 | 92 | 4/18/2026 |
| 1.24.74.428 | 308 | 3/14/2024 |
| 1.24.70.57 | 417 | 3/10/2024 |
| 0.23.302.20 | 329 | 10/29/2023 |
| 0.23.233.61 | 252 | 8/21/2023 |
| 0.23.201.96 | 291 | 7/20/2023 |
| 0.23.155.57 | 284 | 6/4/2023 |
| 0.23.155.11 | 280 | 6/4/2023 |
| 0.23.149.61 | 280 | 5/29/2023 |
| 0.23.149.53 | 259 | 5/29/2023 |
| 0.23.148.15 | 299 | 5/28/2023 |
| 0.23.122.16 | 287 | 5/2/2023 |
| 0.23.121.81 | 279 | 5/1/2023 |
Moved to partial property feature. Deep properties notifications fix