自定义属性在属性上 - 获取属性的类型和值
自定义属性在属性上 - 获取属性的类型和值
我有以下自定义属性,可应用于属性上:
[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; } }
还会有其他类,可以在不同类型的属性上添加Identifier属性:
public class MyOtherClass { public string Name { get; set; } [Identifier()] public int SomeNumber { get; set; } public string SomeOtherProperty { get; set; } }
然后,我需要在我的使用类中获取这些信息。
例如:
public class TestClass{ public void GetIDForPassedInObject(T obj) { var type = obj.GetType(); //type.GetCustomAttributes(true)??? } }
如何最好地处理这个问题?
我需要获取[Identifier()]字段的类型(int,string等)和实际值,根据类型确定。