📅  最后修改于: 2020-11-01 03:02:27             🧑  作者: Mango
C#允许我们创建现有方法并向现有类添加新方法,而无需创建新的子类。现有的类不需要重新编译代码。 C#扩展方法是静态方法的特殊类型,可以称为实例方法。
我们可以在C#预定义类和用户创建的自定义类中添加扩展方法。我们需要考虑以下几点来定义扩展方法。
在下面的示例中,我们在C#String类中添加了扩展方法GetUpperCase()。
using System;
namespace CSharpFeatures
{
public static class StringHelper
{
public static string GetUpperCase(this string name)
{
return name.ToUpper();
}
}
public class ExtensionMethodExample
{
static string name = "javatpoint";
static void Main(string[] args)
{
string str = name.GetUpperCase(); // calling extension method using string instance
Console.WriteLine(str);
}
}
}
输出量
JAVATPOINT
在下面的示例中,我们将扩展方法添加到Student类。
using System;
namespace CSharpFeatures
{
public static class StudentHelper
{
public static string GetUpperName(this Student student) // Using this before Student class
{
return student.name.ToUpper();
}
}
public class Student
{
public string name = "javatpoint";
public string GetName()
{
return this.name;
}
}
public class ExtensionMethodExample
{
static void Main(string[] args)
{
Student student = new Student();
Console.WriteLine(student.GetName());
Console.WriteLine(student.GetUpperName());
}
}
}
输出量
javatpoint
JAVATPOINT