J'essaie de simplifier le code pour extraire des données de l'attribut de propriété.Contenu de l'attribut extracion
Attribut:
[AttributeUsage(AttributeTargets.Property)]
class NameAttribute : Attribute
{
public string Name { get; }
public ColumnAttribute(string name)
{
Name = name;
}
}
attribut contenu du code d'extraction (null contrôles supprimés):
public static string GetName<T>(string propName)
{
var propertyInfo = typeof(T).GetProperty(propName);
var nameAttribute = (NameAttribute)propertyInfo.GetCustomAttributes(typeof(NameAttribute)).FirstOrDefault();
return nameAttribute.Name;
}
classe de l'échantillon:
class TestClass
{
[Column("SomeName")]
public object NamedProperty { get; set; }
}
Appel échantillon:
var name = GetName<TestClass>(nameof(TestClass.NamedProperty))
Est-ce un moyen de réécrire la méthode d'extraction de contenu d'attribut pour simplifier/raccourcir son appel. C'est trop gênant pour moi à cause de sa longueur.
Quelque chose comme CallerMemberNameAttribute serait génial mais je n'ai rien trouvé.
Il semble ok pour moi – Backs
je suis 2.5 appels par chaîne, mais la syntaxe d'appel actuelle est trop longue pour cela –