10

我試圖定義和檢索的Metro風格應用程序移植庫一類自定義屬性。自定義類屬性的Metro風格應用

喜歡的東西

[AttributeUsage(AttributeTargets.Class)] 
public class FooAttribute : Attribute 
{ 
} 

[Foo] 
public class Bar 
{ 
} 


class Program 
{ 
    static void Main(string[] args) 
    { 
     var attrs = CustomAttributeExtensions.GetCustomAttribute<FooAttribute>(typeof(Bar)); 
    } 
} 

這個工作在普通4.5,但在便攜庫靶向Metro風格的應用程序,它告訴我

Cannot convert type 'System.Type' to 'System.Reflection.MemberInfo' 

感謝

+0

顯然,你需要做的 VAR ATTRS = CustomAttributeExtensions.GetCustomAttribute ( typeof運算(巴).GetTypeInfo()); –

+1

http://msdn.microsoft.com/en-us/library/windows/apps/hh535795%28v=vs.110%29.aspx –

+1

@ user1364325如果你上面的註釋中的代碼解決了這個問題,請張貼它作爲答案並將其標記爲已回答。 – Adam

回答

4

或者,太槓桿擴展同意,因爲他們的意思是:

var attr = typeof(Bar).GetTypeInfo().GetCustomAttribute<FooAttribute>(); 
2

按照OP:

您將n EED做VAR ATTRS = CustomAttributeExtensions.GetCustomAttribute(typeof運算(BAR).GetTypeIn FO());

這似乎與the documentation