Newbie in C# ci sono molte interfacce framework come IDisposable, IQueryable, IEnumerable disponibili che hanno diversi usi Esiste un elenco a disposizione per tali interfacce di sistema che può essere utilizzato di riferimento prontoElenco di interfacce Framework in C#
risposta
BENE, di seguito un breve scritto mi sono imbattuto per la scansione di assembly .NET di Risorse del computer e trovare tutti i tipi di interfaccia definite al loro interno
Il file di output è stato a lungo 1657 linee *, quindi ... si potrebbe desiderare di restringi la tua ricerca un po ';)
Console.Write("Enter a path to write the list of interfaces to: ");
string savePath = Console.ReadLine();
var errors = new List<string>();
using (var writer = new StreamWriter(savePath))
{
string dotNetPath = @"C:\Windows\Microsoft.NET\Framework";
string[] dllFiles = Directory.GetFiles(dotNetPath, "*.dll", SearchOption.AllDirectories);
foreach (string dllFilePath in dllFiles)
{
try
{
Assembly assembly = Assembly.LoadFile(dllFilePath);
var interfaceTypes = assembly.GetTypes()
.Where(t => t.IsInterface);
foreach (Type interfaceType in interfaceTypes)
{
writer.WriteLine(interfaceType.FullName);
Console.WriteLine(interfaceType.FullName);
}
}
catch
{
errors.Add(string.Format("Unable to load assembly '{0}'.", dllFilePath));
}
}
}
foreach (string err in errors)
{
Console.WriteLine(err);
}
Console.ReadLine();
* E, a dire il vero, non so nemmeno quanto fosse completo questo approccio.
Bene, molti sono molto personalizzati per scopi specifici. Se hai elencato tutte le di esse ci vorrebbe un po '.
I principali quelli mi piacerebbe aggiungere a quanto sopra sono IList
/IList<T>
(insiemi/collezioni/lists), IDictionary<TKey,TValue>
, IEnumerable<T>
(versione generica del IEnumerable
), e IEnumerator
(più doppia generica, anche se in verità poche persone hanno bisogno di codice contro IEnumerator
).
Se si desidera in qualsiasi area, ci sarebbero molti molti di più che si incontra rapidamente - cose come IDbCommand
/IDataReader
per i dati di accesso, ecc - ma non è solo interfacce che sono importanti. Cose come Stream
sono una classe (anche se astratta), ma importante.
Penso che una migliore domanda/tattica potrebbe essere "dato che sto facendo [X specifica], quali sono i tipi importanti da sapere?". Dato che non conosciamo la [specifica X], non possiamo rispondere così tanto.
Ecco una documentazione di .NET Framework Class Library
http://msdn.microsoft.com/en-us/library/ms229335.aspx
Cliccando su selezionato namespace vedrete interfacce definite in tale spazio dei nomi. Nella mia umile opinione, questa lista categorizzata è molto più comoda da usare come riferimento che semplicemente una semplice lista di interfacce.
Ecco alcuni LINQ per ottenere un insieme di interfacce, dove "file" è una serie di librerie per cercare .....
var interfaces = (from fileName in files
select Assembly.LoadFile(fileName)
into assembly
select assembly.GetTypes()
into typesInAssembly
from interfacesInType in typesInAssembly.Select(type => type.GetInterfaces())
from interfaceInType in interfacesInType
select interfaceInType)
.Distinct()
.OrderBy(i => i.Name);
- 1. Elenco interfacce nelle interfacce in Go
- 2. Elenco di interfacce generiche
- 3. Eredità delle interfacce in C#
- 4. Eredità multipla di interfacce in C++
- 5. Interfacce C# - implementare solo un'interfaccia in altre interfacce
- 6. Come convertire un elenco di oggetti in un elenco di interfacce?
- 7. Esiste un elenco di interfacce di libreria standard C++ 11 che richiedono eccezioni abilitate?
- 8. come implementare le interfacce in C++?
- 9. Interfacce fluide ed ereditarietà in C++
- 10. C# getters/setters in structs e interfacce
- 11. Ereditari commenti XML dalle interfacce in C#
- 12. Trasmetti un elenco di tipi concreti a un elenco delle sue interfacce in Java
- 13. Implementare entrambe le interfacce Mappa ed Elenco in Java?
- 14. Framework di calcolo distribuito in c/C++
- 15. C# Generics, interfacce ed ereditarietà
- 16. Covariance con C# e Interfacce
- 17. C# generici e interfacce e semplice OO
- 18. Utilizzo di shared_ptr nelle interfacce C?
- 19. Restituzione di oggetti polimorfici C++ (interfacce)
- 20. Recupero di un elenco di interfacce di rete in node.js (ioctl SIOCGIFCONF)
- 21. JAXB non ha un elenco di interfacce unmarsale
- 22. elenco delle interfacce vs. Elenco di tipo derivato - Impossibile convertire Espressione Tipo di ritorno Tipo di
- 23. Elenco filtri APicerca in django-rest-framework
- 24. Come funziona l'implementazione di più interfacce COM in C++?
- 25. Implementazione di interfacce in C++ con classi concrete ereditate
- 26. Immissione di valori polimorfici con più interfacce in C#
- 27. C/C++ Linux MAC Address di tutte le interfacce
- 28. interfacce generiche
- 29. Come ottenere elenco di oggetti modificati in Entity Framework 5
- 30. Interfacce COM di trasmissione
+1: risposta molto più pratico della mia. –
Un buon consiglio, ma penso che ci sia qualcosa da dire sull'essere in grado di esplorare un po 'e vedere cosa ha in serbo il quadro. Non sai mai quando avrai bisogno di un Revertible Change Tracking personalizzato, per esempio. (Http://msdn.microsoft.com/en-us/library/system.componentmodel.irevertiblechangetracking.aspx) –