1
プロパティの属性からデータを抽出するコードを単純化しようとしています。属性の内容extracion
属性:
[AttributeUsage(AttributeTargets.Property)]
class NameAttribute : Attribute
{
public string Name { get; }
public ColumnAttribute(string name)
{
Name = name;
}
}
項目の内容がコード(除去ヌルチェックを)抽出:
public static string GetName<T>(string propName)
{
var propertyInfo = typeof(T).GetProperty(propName);
var nameAttribute = (NameAttribute)propertyInfo.GetCustomAttributes(typeof(NameAttribute)).FirstOrDefault();
return nameAttribute.Name;
}
サンプルクラス:
class TestClass
{
[Column("SomeName")]
public object NamedProperty { get; set; }
}
コールサンプル:
var name = GetName<TestClass>(nameof(TestClass.NamedProperty))
属性の内容の抽出方法を書き換えて呼び出しを簡素化/短縮する方法はありますか。長さのために私には不便です。
CallerMemberNameAttributeのようなものは素晴らしいかもしれませんが、何も見つかりませんでした。
それは私私は – Backs
のために[OK]を探しますそれを文字列に補間するfowの方法、文字列ごとに2..5の呼び出しがありますが、現在の呼び出し構文は長すぎます –