使用RIa服务自定义数据注释

时间:2015-03-16 11:37:40

标签: c# reflection data-annotations wcf-ria-services

我有一个Silverlight应用程序,我正在使用Entity Framework和Ria Services。

我需要创建一个自定义属性,用于识别某些属性。

实施例。 :

public class Person
{
    [IsSpecialProperty]
    public string PersonProperty { get; set; }
}

public class IsSpecialPropertyAttribute : Attribute
{

}

我将类文件“IsSpecialPropertyAttribute.shared.cs”命名为从客户端访问它。

从客户端,我使用的方法:

var attributes = (IsSpecialPropertyAttribute[])Attribute.GetCustomAttributes(memberInfo, typeof(IsSpecialPropertyAttribute));

此方法适用于系统属性,但不适用于我的自定义属性...

知道为什么吗?

此方法为我提供了所有其他属性,但不是我创建的自定义...

var test = Attribute.GetCustomAttributes(memberInfo);

1 个答案:

答案 0 :(得分:0)

你可以尝试另外两种方法:

var attributes = memberInfo.GetCustomAttributes(typeof(IsSpecialPropertyAttribute), true);

或:

var attribute = person.GetType().GetCustomAttributes(typeof(IsSpecialPropertyAttribute), true).FirstOrDefault() as IsSpecialPropertyAttribute;