Estoy tratando por primera vez para crear un método de extensión y estoy teniendo algunos problemas ... tal vez ustedes puede ayudar :)de error del compilador método personalizado referencia a la extensión C#
public static class Extentions
{
public static int myMethod(this MyClass c)
{
return 1;
}
}
entonces cuando lo hago "MyClass.myMethod" obtengo q el error del compilador dice que el método no existe ...
¿Por qué es eso?
Solo por curiosidad, ¿por qué habría una necesidad de llamar a un método de extensión dentro de una clase?Si está codificando la clase, ¿por qué este método es una extensión en primer lugar? ¿No debería ser solo parte de la clase en sí? (Entiendo que lo hayas publicado para mostrar la sintaxis, pero estoy muy contento). – BFree
La clase podría implementar una interfaz, con el método de extensión definido para esa interfaz. O el código podría estar en una subclase, con el método de extensión definido (por separado) contra la clase base, quizás en un ensamblaje diferente a la clase base. –
Re este último; Yo uso este enfoque yo mismo para proporcionar extensiones de C# 3.0/.NET 3.5 a una biblioteca que sea .NET 2.0, es decir, para permitir el uso de lambda en lugar del nombre de usuario. –