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?
@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!
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.