Dhahabi.ViewModel
1.0.5
dotnet add package Dhahabi.ViewModel --version 1.0.5
NuGet\Install-Package Dhahabi.ViewModel -Version 1.0.5
<PackageReference Include="Dhahabi.ViewModel" Version="1.0.5" />
<PackageVersion Include="Dhahabi.ViewModel" Version="1.0.5" />
<PackageReference Include="Dhahabi.ViewModel" />
paket add Dhahabi.ViewModel --version 1.0.5
#r "nuget: Dhahabi.ViewModel, 1.0.5"
#:package Dhahabi.ViewModel@1.0.5
#addin nuget:?package=Dhahabi.ViewModel&version=1.0.5
#tool nuget:?package=Dhahabi.ViewModel&version=1.0.5
Dhahabi.ViewModel
Descripción
DhahabiViewModel es un generador de código para C# que simplifica la implementación de INotifyPropertyChanged en
tus ViewModels. Utilizando un atributo personalizado, puedes reducir significativamente el código repetitivo al
implementar esta interfaz.
Características
- Genera automáticamente los métodos
getysetpara propiedades marcadas con el atributo[ObservablePropertyAttribute]. - Implementa la interfaz
INotifyPropertyChangedpara notificaciones de cambio de propiedad. - Reduce la cantidad de código repetitivo en tus ViewModels.
Instalación
Puedes instalar el paquete desde NuGet:
dotnet add package Dhahabi.ViewModel
O utilizando el administrador de paquetes NuGet en Visual Studio.
Uso
Para utilizar DhahabiViewModel, sigue estos pasos:
- Agrega el atributo
[ObservablePropertyAttribute]a las propiedades de tu claseViewModelque deseas generar automáticamente:
using System.ComponentModel;
namespace MyNamespace
{
public partial class MyViewModel
{
[ObservableProperty]
public bool _isLoading;
[ObservableProperty]
private string _status;
}
}
- El generador de código se encargará de implementar automáticamente los métodos
getysetpara las propiedades marcadas con el atributo[ObservablePropertyAttribute], así como la interfazINotifyPropertyChanged.
Ejemplo
Antes de usar DhahabiViewModel
public class MyViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
set
{
if (_isLoading != value)
{
_isLoading = value;
OnPropertyChanged(nameof(IsLoading));
}
}
}
private string _status;
public string Status
{
get => _status;
set
{
if (_status != value)
{
_status = value;
OnPropertyChanged(nameof(Status));
}
}
}
protected void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
Después de usar DhahabiViewModel
namespace MyNamespace
{
public partial class MyViewModel
{
[ObservableProperty]
private bool _isLoading;
[ObservableProperty]
private string _status;
}
}
El generador de código se encargará de implementar automáticamente la interfaz INotifyPropertyChanged y los métodos
get y set para las propiedades.
Contribuciones
Si deseas contribuir al desarrollo de este paquete, ¡siéntete libre de hacerlo! Puedes clonar el repositorio, realizar cambios y abrir un pull request.
Licencia
Este proyecto está licenciado bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
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.