C# ile yazılmış * .dll dosyası var ve bu * .dll dosyasında bulunan tüm genel yöntemlerin veya sınıfların listesini almam gerekiyor. C# ile programatik olarak bunu yapmanın bir yolu var mı?Tüm genel yöntemler nasıl * .dll içinde edinilir
9
A
cevap
2
System.Net.Reflection öğesini kullanın. Yansıtma sınıfları, çalışma zamanında bir DLL türünün meta verilerini sorgulamanızı sağlar.
şey this.GetType().Assembly.GetTypes();
12
gibi Evet türleri ayıklamak için Assembly.GetTypes kullanın ve sonra genel yöntemleri yinelemek için her türüne yansıma kullanın.
Assembly a = Assembly.LoadWithPartialName("...");
Type[] types = a.GetTypes();
foreach (Type type in types)
{
if (!type.IsPublic)
{
continue;
}
MemberInfo[] members = type.GetMembers(BindingFlags.Public
|BindingFlags.Instance
|BindingFlags.InvokeMethod);
foreach (MemberInfo member in members)
{
Console.WriteLine(type.Name+"."+member.Name);
}
}
4
var assembly = // grab assembly
var types = assembly.GetExportedTypes();
foreach (var type in types) {
var methods = type.GetMethods(BindingFlags.Public);
}
GetExportedTypes takımda tüm kamu türlerini dönecektir. Ayrıca, yalnızca örnek yöntemlerini, statik yöntemleri veya her ikisini de isteyip istemediğinizi belirtmediniz.
İlgili konular
- 1. Kullanıcı denetimi içindeki genel yöntemler C# .net
- 2. C# dll montaj bilgileri nasıl edinilir?
- 3. Proguard gizleme ve genel yöntemler
- 4. Tüm RecyclerView ViewHolder nasıl edinilir?
- 5. Delphi'de harici (genel) IP nasıl edinilir
- 6. Genel bir Amazon ortaklık linki nasıl edinilir?
- 7. C# içinde genel türleri sınırlama #
- 8. Tüm tablo adlarının sqlCE Veritabanında nasıl edinilir?
- 9. Neden tüm özel yöntemler için statik yöntemler kullanmıyorsunuz?
- 10. System.Reflection içinde anonim yöntemler nasıl tanımlanır
- 11. SignalR içinde genel hub nasıl kullanılır?
- 12. Java jenerikleri: bir yöntemden genel bir tür nasıl edinilir?
- 13. Tüm kaplarda yeşim ajanları nasıl edinilir?
- 14. Tüm olası eşleşmeleri nasıl edinilir? Stgex regex
- 15. Genel olarak jenerik kullanan bir soyutdan yöntemler nasıl kullanılır?
- 16. StructureMap içinde genel arabirimler nasıl kaydedilir
- 17. IUnknown içinde C için işaretçi nasıl edinilir? #
- 18. java içinde DLL dosyası yükleme
- 19. Tüm değişkenleri genel yapmak
- 20. dll, c içinde xml dosyaları paketi C#
- 21. lib kullanmadan C içinde DLL kullanın
- 22. PoolingClientConnectionManager'da neden tüm yöntemler kullanımdan kaldırıldı?
- 23. django içinde komut içinde root url nasıl edinilir
- 24. Normalleştirilmiş tablolardan genel olarak en popüler etiketler nasıl edinilir?
- 25. Tüm aşırı yüklenmiş yöntemler için takma ad?
- 26. Yöntemler
- 27. Kullanıcı ilgi alanları nasıl edinilir?
- 28. Genel olmayan bir .NET türünde bir genel yöntem MethodInfo nasıl edinilir?
- 29. Bir projedeki dll tüm referanslarını bul
- 30. DLL 'OraOps12.dll yüklenemedi
Tek kelime: yansıma. – BoltClock