Mam fragment kodu w moim programie, który rozróżnia klasy generowane przez kompilator, sprawdzając, czy zawierają one "DisplayClass" w nazwie typu.
po przeczytaniu this answer, myślę, że potrzebuję lepszego sposobu. Jak wyodrębnić klasy generowane przez kompilator z klas użytkowników w .NET?Jak wyodrębnić klasy generowane przez kompilator z klas użytkowników w .NET
6
A
Odpowiedz
13
Sprawdź zajęcia dla atrybutu CompilerGenerated
odróżnienia kompilatora generowane klas z drugiej
W reflektorze te Pokaż klasy mogą być postrzegane w ten sposób:
[CompilerGenerated]
private sealed class <>c__DisplayClass1
{..}
7
Ta odpowiedź bardzo mi pomógł na zewnątrz! Oto kod Musiałem dodać do sprawdzenia Type
dla CompilerGeneratedAttribute
jak Valentin Kuzub wymienić:
using System.Runtime.CompilerServices;
//...
bool IsCompilerGenerated(Type t)
{
var attr = Attribute.GetCustomAttribute(t, typeof(CompilerGeneratedAttribute));
return attr != null;
}
Powiązane problemy
- 1. Wspólna biblioteka klas używana przez .NET Core i .Net 4.5.2
- 2. CrossPostback, AJAX Controls i generowane przez ASP.NET generowane posty zwrotne działają dla .NET 4.5, nie .NET 4.0 w IE 11
- 3. Klasy generowane przez niestandardowy generator T4 wyglądają niechlujnie
- 4. Liczba klas w .NET?
- 5. Skracanie strony generowane przez javascript z C#
- 6. Biblioteka klas z .NET CLI
- 7. Jak wyodrębnić listę z appsettings.json w rdzeniu .net
- 8. Jak można przechwytywać wyjątki generowane z konstruktora globalnej instancji klasy?
- 9. Jak wyodrębnić DataGridCell z klasy DataGridCellinfo w wpf
- 10. Jak mierzyć wykorzystanie aplikacji desktopowych przez użytkowników?
- 11. Podkładki nie są generowane dla metod .NET
- 12. jak zmusić klas schematu opracowano rozszerzenie konkretnej klasy poza schemat
- 13. Cechy klasy wyodrębnić VALUE_TYPE kontenera z back_insert_iterator
- 14. Czy destruktor generowany przez kompilator abstrakcyjnej klasy bazowej będzie wirtualny?
- 15. .net Dziedziczenie wielokrotne z klas abstrakcyjnych
- 16. Jak wyświetlić raporty HTML generowane przez Gradle w Jenkins
- 17. Xcode 3.2.1 - Dlaczego klasy generowane przez Core Data generują błędy kompilacji?
- 18. Klasy klas WinForm
- 19. Jak obsługiwać zdarzenia generowane przez Grid Splitter w WPF?
- 20. Czy VB potrafi wyodrębnić interfejsy z klasy takiej jak C#?
- 21. JAXB generowane klasy serializowalne z wiązaniem JAX-WS
- 22. Odwołanie do biblioteki klasy .NET 4.6.2 z aplikacji .NET Core
- 23. Jak odzyskać listę zalogowanych/podłączonych użytkowników w .NET?
- 24. Jak korzystać z klasy .NET w VBA? Pomoc dotycząca składni!
- 25. Zużywanie odwołania do strony internetowej w bibliotece klas (C#/.NET)
- 26. Jak wyodrębnić z dispatch.json.JsObject
- 27. JPA: kolumny generowane przez bazę danych
- 28. Stałe nie ładowane przez kompilator
- 29. Jak korzystać z szyfrowania Rijndael przy użyciu biblioteki klas .Net Core? (Nie .Net Framework)
- 30. Klasy chronione w .NET
Uwaga: jeśli Wygeneruj kod samemu, użyj 'GenerateCodeAttribute' zamiast' CompilerGeneratedAttribute', jak [wytłumaczyć David Kean na tym blogu MSDN] (http://blogs.msdn.com/b/codeanalysis/archive/2007/04/27/correct-usage-of-the-compilergeneratedattribute-and-generatedcodeattribute.aspx). – Abel