在.NET中,IO
常常指的是输入/输出操作。扩展方法(也称为扩展属性、扩展类等)允许你在不修改原始类型的情况下,向现有类型添加新的方法。在.NET 5及更高版本中,扩展方法更加灵活和强大。
以下是一个简单的IO扩展方法的示例:
```csharp using System; using System.IO;
public static class FileExtensions { // 扩展方法:将字符串内容写入文件 public static void WriteToFile(this string content, string filePath) { File.WriteAllText(filePath, content); }
// 扩展方法:从文件中读取字符串内容
public static string ReadFromFile(string filePath)
{
if (File.Exists(filePath))
{
return File.ReadAllText(filePath);
}
else
{
throw new FileNotFoundException("文件未找到");
}
}
}
class Program { static void Main() { string content = "Hello, World!";
// 使用扩展方法将字符串写入文件
content.WriteToFile("example.txt");
// 使用扩展方法从文件中读取字符串
string fileContent = content.ReadFromFile("example.txt");
Console.WriteLine(fileContent);
}
} ```
在这个示例中,我们定义了两个扩展方法 WriteToFile
和 ReadFromFile
,分别用于将字符串内容写入文件和从文件中读取字符串内容。这两个方法都接受一个文件路径作为参数,并执行相应的IO操作。
要使用这些扩展方法,只需在类型后面添加 扩展方法
关键字,并在方法名前加上 this
关键字,表示该方法是扩展方法。然后,你可以在代码中像使用普通方法一样调用这些扩展方法。
请注意,扩展方法必须位于同一个命名空间中,或者它们必须是静态的(如果它们不是静态的,则需要一个静态类)。***扩展方法不能访问其所属类的私有成员,因为它们不是该类的成员。