Runtime: 'Typ' enthält keine Definition für 'IsEnum'

Erstellt am 21. Apr. 2015  ·  3Kommentare  ·  Quelle: dotnet/runtime

Beim Erstellen eines Projekts, das ich in CoreCLR konvertiere, bin ich auf diesen Fehler gestoßen:

C:\Users\Benjamin\Projects\MiniProfiler\StackExchange.Profiling\SqlTiming.cs(136,25): Fehler CS1061: 'Type' enthält keine Definition für 'IsEnum' und keine Erweiterungsmethode 'IsEnum', die ein erstes Argument akzeptiert vom Typ 'Type' gefunden (fehlen Sie eine using-Direktive oder eine Assembly-Referenz?)

Das Seltsame daran ist, dass alles, was ich online finden kann, darauf hindeutet, dass Type verfügbar sein sollte und die Eigenschaft IsEnum verfügbar sein sollte . Die umgekehrte Paketsuche von Fowler findet Type im System.Runtime Paket, und ich habe System.Runtime 4.0.20-* als Abhängigkeit in meinem project.json im dnxcore50 Framework Sektion.

Der Compilerfehler tritt jedoch auf und dotPeek sagt auch, dass es keinen Type Typ im System.Runtime Paket gibt. Was habe ich verpasst?

Hilfreichster Kommentar

@aggieben , Sie möchten wahrscheinlich .GetTypeInfo().IsEnum (GetTypeInfo ist eine Erweiterungsmethode aus dem System.Reflection-Namespace). Ein Teil der Oberfläche von Type wurde nach TypeInfo verschoben, einschließlich IsEnum, glaube ich. In Bezug auf dotPeek habe ich es nicht ausprobiert, aber wenn ich raten musste, achtete ich nicht auf das Attribut [assembly: TypeForwardedTo(typeof(Type))] in System.Runtime.dll, das an die mscorlib-Implementierung weiterleitet.

Alle 3 Kommentare

@aggieben , Sie möchten wahrscheinlich .GetTypeInfo().IsEnum (GetTypeInfo ist eine Erweiterungsmethode aus dem System.Reflection-Namespace). Ein Teil der Oberfläche von Type wurde nach TypeInfo verschoben, einschließlich IsEnum, glaube ich. In Bezug auf dotPeek habe ich es nicht ausprobiert, aber wenn ich raten musste, achtete ich nicht auf das Attribut [assembly: TypeForwardedTo(typeof(Type))] in System.Runtime.dll, das an die mscorlib-Implementierung weiterleitet.

Vielen Dank!

Beachten Sie, dass MSDN seit 2015-8-4 IsEnum unter Typ für .Net 4.5/4.6 . auflistet
https://msdn.microsoft.com/en-us/library/System.Type_properties (v=vs.110).aspx

Danke @stephentoub , das hat geholfen!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen