Novato en C# hay muchas interfaces de marco como IDisposable, IQueryable, IEnumerable disponibles que tienen diferentes usos ¿Hay una lista disponible para este tipo de interfaces de sistema que se puede utilizar como referencia listosLista de interfaces de marco en C#
Respuesta
BIEN, a continuación es una secuencia de comandos rápida corrí a escanear ensamblados .NET de mi computadora y encontrar todos los tipos de interfaces definidas dentro de ellos
El archivo de salida se 1657 líneas de largo *, así que ... es posible que desee reducir un poco la búsqueda;)
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();
* Y para ser sincero, ni siquiera sé qué tan completo fue este enfoque.
Bueno, muchos son muy a medida para fines específicos. Si enumeró todo de ellos tomaría un tiempo.
los principales que me gustaría añadir a lo anterior son IList
/IList<T>
(sistemas/colecciones/listas), IDictionary<TKey,TValue>
, IEnumerable<T>
(versión genérica de IEnumerable
), y IEnumerator
(además de doble genérica, aunque en realidad pocas personas necesitan código contra IEnumerator
).
Si usted desea en cualquier área, no habría muchos más que va a coincidir con rapidez - cosas como IDbCommand
/IDataReader
para datos de acceso, etc - pero no es sólo las interfaces que son importantes. Cosas como Stream
es una clase (aunque abstracta), pero enormemente importante.
Creo que una mejor pregunta/táctica podría ser "dado que estoy haciendo [X específica], ¿cuáles son los tipos importantes que debe conocer?". Como no conocemos la [X específica], no podemos responder tanto.
Aquí es una documentación de la biblioteca de clases .NET Framework
http://msdn.microsoft.com/en-us/library/ms229335.aspx
Al hacer clic en el espacio de nombres seleccionado verá interfaces definidas en ese espacio de nombres. En mi humilde opinión, esta lista clasificada es mucho más cómoda de usar como referencia que una simple lista de interfaces.
Aquí es un poco de LINQ para obtener un conjunto de interfaces, donde "archivos" es un conjunto de bibliotecas para buscar .....
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. Lista de interfaces genéricas
- 2. Lista de interfaces en serie GSON
- 3. herencia de interfaces en C++
- 4. interfaces de fluido en C#
- 5. lista de filtrado usando múltiples clases/interfaces
- 6. Implementando interfaces en C++
- 7. Lista completa de protocolos/interfaces de Python
- 8. iteración a través de lista de interfaces
- 9. convertir la lista de objetos a la lista de interfaces
- 10. herencia de interfaces similares en C++
- 11. JAXB no anula la lista de interfaces
- 12. Importancia de las interfaces C#
- 13. comentarios Heredar XML de interfaces en C#
- 14. Ejemplos de interfaces C para bibliotecas C++?
- 15. Marco de validación en C#?
- 16. cómo implementar interfaces en C++?
- 17. OOP e interfaces en C
- 18. C# Interfaces: solo implementa una interfaz en otras interfaces
- 19. Implementa las interfaces de Mapa y Lista en Java?
- 20. ¿Hay una lista de interfaces de biblioteca estándar de C++ 11 que requieren excepciones habilitadas?
- 21. ¿Cómo devuelvo correctamente un tipo de Lista de interfaces?
- 22. Emitir una lista de tipos concretos a una lista de sus interfaces en Java
- 23. Devolución de objetos polimórficos C++ (interfaces)
- 24. C# exponer a COM - herencia de interfaces
- 25. Jerarquía de clases para interfaces C#
- 26. C++ sugerencias marco de registro
- 27. C/C++ de Linux dirección MAC de todas las interfaces
- 28. ¿Cómo puedo simular interfaces en C++?
- 29. ¿Equivalente a las interfaces Java en C++?
- 30. advertencias sobre interfaces misteriosas en proyectos C#
+1: respuesta mucho más práctico que la mía. –
Un buen consejo, pero creo que hay algo que decir acerca de poder explorar un poco y ver lo que el marco tiene en la tienda. Nunca se sabe cuándo va a necesitar un seguimiento de cambios reversibles personalizado, por ejemplo. (http://msdn.microsoft.com/en-us/library/system.componentmodel.irevertiblechangetracking.aspx) –