c# 扩展方法中修改自己
时间: 2024-10-07 22:00:38 浏览: 42
在 C# 中,扩展方法(Extension Method)是一种特殊的静态成员,它允许你在不改变现有类结构的情况下为已有类型添加新的方法。当你想要给某个类型的实例添加一些新的功能,而该类型又不适合公开修改其源代码时,可以使用扩展方法。
例如,你可以创建一个名为`Extensions`的静态类,然后在这个类中声明一个返回自身类型的静态方法。这个方法会接收你要扩展的对象作为隐式参数,并对其进行操作。下面是一个简单的例子:
```csharp
public static class StringExtensions
{
public static string Capitalize(this string input)
{
if (!string.IsNullOrEmpty(input))
{
return char.ToUpper(input[0]) + input.Substring(1);
}
else
{
return input;
}
}
}
// 使用示例:
string myString = "hello world";
myString.Capitalize(); // 输出 "Hello world"
```
在这个例子中,`Capitalize` 方法是扩展了 `string` 类型,当我们对字符串实例调用这个方法时,实际上是调用了这个静态扩展方法。
阅读全文