Extension methods
The class and extension method where the extension method resides must be static and the first parameter of the extension method is the class name to extend and the
person person = new person ();
public static Class Extension
{
public static void Extensionmethod (this person p)
{
.......;
}
}
Person. Extensionmethod ();
When person calls Extensionmethod (), C # Compiler compiles the source code into the IL code of the static Method. Can also be understood as
The compiler did such a deal with the person. Extensionmethod (); = = Extensionmethod (person);
The process of C # Compiler compilation is this:
- First look at whether there is a Extensionmethod () method in the person class, and if so, call directly;
- If not, in the corresponding namespace, look for the static class to see if there is a public static void Extensionmethod in these static class methods, If not, compile pass.
C # 3.5 Extension methods