2017-02-03 12 views
12

ja migrowania projektu biblioteki do poziomu .net i otrzymuję następujący błąd kompilacji, gdy próbuję użyć System.Reflection API zadzwonić Type:GetProperties():Rodzaj nie zawierają definicji dla „GetProperties”

Rodzaj nie zawierają definicji 'GetProperties'

Tu jest mój project.json:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable" 
    }, 
    "dependencies": {}, 
    "frameworks": { 
    "netstandard1.6": { 
     "dependencies": { 
     "NETStandard.Library": "1.6.0" 
     } 
    } 
    } 
} 

Czego mi brakuje?

Odpowiedz

9

Jak pisać tego GetProperties() jest teraz:

typeof(Object).GetTypeInfo().DeclaredProperties;

9

Aktualizacja: rdzeń z .NET 2.0 zwolnieniu System.Type wrócić i tak dostępne są obie opcje:

  • typeof(Object).GetType().GetProperties()
  • typeof(Object).GetTypeInfo().GetProperties()

    Ten wymaga dodania using System.Reflection;

  • typeof(Object).GetTypeInfo().DeclaredProperties

    Należy zwrócić uwagę, że ta właściwość zwraca IEnumerable<PropertyInfo>, a nie PropertyInfo[] jako poprzednie dwie metody.


Większość członków refleksji związanych na System.Type są teraz na System.Reflection.TypeInfo.

pierwsze wezwanie GetTypeInfo uzyskać instancję TypeInfo z Type:

typeof(Object).GetTypeInfo().GetProperties(); 

Ponadto, nie zapomnij użyć using System.Reflection;

+0

Zgadza się. Ale myślę, że masz literówkę w swojej odpowiedzi. Jest to 'typeof (Object) .GetTypeInfo(). GetProperties();' –

+0

@MiguelGamboa yep, moje złe, edytowane – Set

Powiązane problemy