Estoy usando una biblioteca de terceros que contiene varios métodos de extensión además de IQueryable. Para utilizar estos métodos de extensión, no deseo que mi aplicación esté llena de declaraciones en el espacio de nombres de terceros en el que reside el método de extensión.Métodos de extensión: cambiar el espacio de nombres
Esto es para que pueda desconectar la biblioteca en algún momento cercano futuro lo más fácil posible. Sin embargo, no estoy seguro de cuál es la mejor manera de hacerlo. Una opción que contemplé fue crear mi propio conjunto de métodos de extensión dentro del proyecto (entonces puedo controlar el espacio de nombres). El problema con esto es que no puedo ver cómo puedo mantener el nombre del método de extensión existente. Por ejemplo:
namespace MyProject.Extensions {
public static class IQueryableExtension {
public static IQueryable<T> Fetch<T, K>(this IQueryable<T> queryable, Expression<Func<T, K>> selector) {
return queryable.Fetch(selector);
}
}
}
Puede ver el problema aquí. Cuando trato de llamar al método de extensión de terceros dentro del mío, en realidad se llama a sí mismo creando un ciclo infinito.
Agradecería la ayuda. Gracias
Hola, gracias por su respuesta. – nfplee