プロパティに適用できる次のカスタム属性があります。
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class IdentifierAttribute : Attribute
{
}
例えば:
public class MyClass
{
[Identifier()]
public string Name { get; set; }
public int SomeNumber { get; set; }
public string SomeOtherProperty { get; set; }
}
異なるタイプのプロパティに識別子属性を追加できる他のクラスもあります。
public class MyOtherClass
{
public string Name { get; set; }
[Identifier()]
public int SomeNumber { get; set; }
public string SomeOtherProperty { get; set; }
}
次に、消費クラスでこの情報を取得できるようにする必要があります。例えば:
public class TestClass<T>
{
public void GetIDForPassedInObject(T obj)
{
var type = obj.GetType();
//type.GetCustomAttributes(true)???
}
}
これについて行く最良の方法は何ですか?[Identifier()]フィールドのタイプ(int、stringなど)と実際の値を取得する必要があります。これは明らかにタイプに基づいています。