CastelloBranco.LocatorGenerator
1.0.4
dotnet add package CastelloBranco.LocatorGenerator --version 1.0.4
NuGet\Install-Package CastelloBranco.LocatorGenerator -Version 1.0.4
<PackageReference Include="CastelloBranco.LocatorGenerator" Version="1.0.4" />
paket add CastelloBranco.LocatorGenerator --version 1.0.4
#r "nuget: CastelloBranco.LocatorGenerator, 1.0.4"
// Install CastelloBranco.LocatorGenerator as a Cake Addin #addin nuget:?package=CastelloBranco.LocatorGenerator&version=1.0.4 // Install CastelloBranco.LocatorGenerator as a Cake Tool #tool nuget:?package=CastelloBranco.LocatorGenerator&version=1.0.4
#CastelloBranco.LocatorGenerator
CastelloBranco.LocatorGenerator � uma ferramenta para gerar automaticamente o c�digo necess�rio para localizar e instanciar ViewModels marcados com um atributo especial em projetos WPF, Avalonia, WinUI, UWP e UNO.
#Uso:
[RegisterOnLocatorAttribute] � usado para marcar classes ViewModel para inclus�o no localizador.
Gerador de C�digo: Uma ferramenta que analisa projetos em busca de classes com o atributo RegisterOnLocatorAttribute e gera um arquivo ViewModelLocator.g.cs para resolver e injetar depend�ncias automaticamente usando a biblioteca CommunityToolkit.Mvvm. Estrutura do Projeto
LocatorGenerator.exe: O gerador que carrega e analisa um projeto MSBuild fornecido pelo usu�rio, identifica classes decoradas com [RegisterOnLocatorAttribute] e gera um arquivo ViewModelLocator.g.cs que exp�e cada ViewModel identificado como uma propriedade est�tica, permitindo a inje��o de depend�ncia autom�tica.
Build: Compile o projeto LocatorGeneratorTool para obter o executavel
NuGet Package: Adicione o pacote CastelloBranco.LocatorGenerator ao projeto que utilizar� o localizador gerado.
No projeto que utilizara o gerador adicione uma tarefa MSBUILD chamando o executavel onde:
execute LocatorGeneratorTool.exe [Caminho da Solu��o] [Arquivo de Projeto] [Diret�rio de Sa�da]
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="C:\LocatorGenerator\LocatorGenerator.exe $(ProjectDir) $(ProjectName).csproj Generated" />
</Target>
#Sa�da:
Ap�s a execu��o, um arquivo ViewModelLocator.g.cs ser� gerado no diret�rio especificado (neste exemplo, Generated), contendo propriedades est�ticas para cada ViewModel detectado.
O arquivo ViewModelLocator.g.cs gerado ter� uma estrutura semelhante a:
public partial class ViewModelLocator
{
public ViewModelLocator() { }
public static namespace.ViewModel1? ViewModel1 => Ioc.Default.GetRequiredService<namespace.ViewModel1>();
public static namespace.ViewModel2? ViewModel2 => Ioc.Default.GetRequiredService<namespace.ViewModel2>();
// etc.
}
Para registrar uma classe como um ViewModel localiz�vel:
[RegisterOnLocator]
public class MeuViewModel { }
#Licen�a:
MIT
#Contribui��o:
Contribui��es s�o bem-vindas! Siga o fluxo de pull requests e confira nossa pol�tica de contribui��es.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. |
-
net8.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 |
---|---|---|
1.0.4 | 91 | 11/12/2024 |