C# extensions method
本问题已经有最佳答案,请猛点这里访问。
对于这种扩展:
1 2 3 4 5 6 7 8 | public static class ImageExtensions { public static Image LoadImage(string path) { using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(path))) return Image.FromStream(ms); } } |
如何使它可以被称为
我通常可以使用其他扩展方法,它们的第一个参数是
这是不可能的。不能编写充当静态扩展的扩展方法,因为扩展方法需要对象实例。
实际上,签名为
1 2 3 4 5 6 7 8 | public static class Image { public static Image LoadImage(string path) { using (MemoryStream ms = new MemoryStream(File.ReadAllBytes(path))) return Image.FromStream(ms); } } |