10

que estoy tratando de definir y recuperar los atributos personalizados en una clase en una biblioteca portátil Metro Style App.Clase Atributos personalizados en Metro Style App

Algo así como

[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)); 
    } 
} 

Esto funciona de ordinario 4.5, pero de una biblioteca portátil apuntan a aplicaciones estilo Metro que me dice

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

Gracias

+0

Al parecer, lo que necesita hacer attrs var = CustomAttributeExtensions.GetCustomAttribute (typeof (Bar) .GetTypeInfo()); –

+1

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

+1

@ user1364325 si el código en su comentario anterior resuelve el problema, por favor, publicarlo como una respuesta y márcala como respondida. – Adam

Respuesta

4

O, también extensiones de apalancamiento ya que estaban destinados:

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

De acuerdo con la OP:

Usted n eed para hacer var attrs = CustomAttributeExtensions.GetCustomAttribute (typeof (Bar) .GetTypeIn fo());

Esto parece estar de acuerdo con the documentation

Cuestiones relacionadas