Je souhaite pouvoir créer et affecter un attribut personnalisé à mes fonctions PowerShell. J'ai regardé partout et cela semble possible mais je n'ai pas vu d'exemple. J'ai créé un attribut personnalisé en C# et je fais référence à l'assemblage dans mon script powershell. Cependant, je reçois une erreur indiquant Unexpected attribute 'MyDll.MyCustom'.
Comment créer et utiliser un attribut de fonction personnalisé dans PowerShell?
Voici ce que j'ai:
MyCustomAttribute dans MyDll.dll:
namespace MyDll
{
[AttributeUsage(AttributeTargets.All, Inherited = true, AllowMultiple = false)]
public sealed class MyCustomAttribute : Attribute
{
public MyCustomAttribute(String Name)
{
this.Name= Name;
}
public string Name { get; private set; }
}
}
PowerShell Script:
Add-Type -Path "./MyDll.dll";
function foo {
[MyDll.MyCustom(Name = "This is a good function")]
# Do stuff
}
de note, cependant, est que si je fais cela:
$x = New-Object -TypeName "MyDll.MyCustomAttribute" -ArgumentList "Hello"
Cela fonctionne très bien. Donc, le type est clairement chargé correctement. Qu'est-ce que j'oublie ici?