Tôi đã thuộc tính sau tùy chỉnh, có thể được áp dụng trên các thuộc tính:thuộc tính Custom trên tài sản - loại và giá trị của tài sản do Bắt
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class IdentifierAttribute : Attribute
{
}
Ví dụ:
public class MyClass
{
[Identifier()]
public string Name { get; set; }
public int SomeNumber { get; set; }
public string SomeOtherProperty { get; set; }
}
Sẽ cũng được các lớp khác, mà các thuộc tính định danh có thể được thêm vào tính chất của loại khác nhau:
public class MyOtherClass
{
public string Name { get; set; }
[Identifier()]
public int SomeNumber { get; set; }
public string SomeOtherProperty { get; set; }
}
Sau đó tôi cần để có thể nhận được thông tin này trong lớp học tiêu thụ của tôi. Ví dụ:
public class TestClass<T>
{
public void GetIDForPassedInObject(T obj)
{
var type = obj.GetType();
//type.GetCustomAttributes(true)???
}
}
Cách tốt nhất để thực hiện việc này là gì? Tôi cần lấy loại trường [Identifier()] (int, string, etc ...) và giá trị thực, rõ ràng là dựa trên loại.
nhờ - có thể' t sử dụng "prop" trong lambda trong FirstOrDefault, nhưng tôi đã sắp xếp nó :-) – Alex
Ahh có, đã được viết nó trong notepad ;-) cố định. –
Tôi đã đánh dấu thuộc tính của mình bằng [Identifier()] nhưng .GetProperties() trả về tất cả các thuộc tính khác EXCEPT this ?! thuộc tính của tôi dường như ẩn nó ?? – Alex