'daki kullanıcı sınıflarından derleyici tarafından oluşturulan sınıflar nasıl dağıtılır Programımda, derleyici tarafından oluşturulan sınıfları, türünde "DisplayClass" bulunup bulunmadığını kontrol ederek ayıran bir kod parçam var.
this answer'u okurken, daha iyi bir yola ihtiyacım var. Derleyici tarafından oluşturulan sınıfları .NET'teki kullanıcı sınıflarından nasıl ayırt edebilirsiniz?.NET
Q
.NET
6
A
cevap
13
Kontrol sınıfları diğer
reflektör olarakgelen derleyici oluşturulan sınıfları ayırt etmek özniteliği CompilerGenerated
için olanlar Ekran sınıfları böyle görülebilir: Bu cevap beni gerçekten yardımcı
[CompilerGenerated]
private sealed class <>c__DisplayClass1
{..}
7
dışarı! [Tarafından açıklandığı gibi AutoGenerate kod kendiniz `GenerateCodeAttribute` kullanırsanız, yerine` CompilerGeneratedAttribute` arasında:
using System.Runtime.CompilerServices;
//...
bool IsCompilerGenerated(Type t)
{
var attr = Attribute.GetCustomAttribute(t, typeof(CompilerGeneratedAttribute));
return attr != null;
}
İlgili konular
- 1. .NET
- 2. .NET
- 3. .NET
- 4. .NET
- 5. .NET
- 6. .NET
- 7. .Net
- 8. .net
- 9. .net
- 10. . Net
- 11. .Net
- 12. .Net
- 13. .NET
- 14. .NET
- 15. NET
- 16. .net
- 17. .Net
- 18. .NET
- 19. .NET
- 20. .NET
- 21. .NET
- 22. .NET
- 23. .NET
- 24. .NET
- 25. .NET
- 26. .NET/Jenkins ile dağıtımı .NET
- 27. .NET üzerinden ekran kazıması .NET
- 28. .NET 3.5 uygulamalarını yalnızca .NET 4 üzerinde çalıştıran .NET sistemleri
- 29. .NET 2.0, .NET 3.5 yükleyicisine dahil mi?
- 30. .Net KeyEventArgs bir C# .net uygulamasında
Not: Burada Valentin Kuzub belirtildiği gibi
CompilerGeneratedAttribute
içinType
kontrol etmek eklemek için gerekli kod Bu MSDN blogunda David Kean] (http://blogs.msdn.com/b/codeanalysis/archive/2007/04/27/correct-usage-of-the-compilergeneratedattribute-and-the-generatedcodeattribute.aspx). – Abel