Фангенто Asked:2024-08-21 01:22:24 +0800 CST2024-08-21 01:22:24 +0800 CST 2024-08-21 01:22:24 +0800 CST C#。是否可以重载静态类? 772 我知道对于普通类来说,重载是不可能的,因为不清楚该对象属于哪个类。那么静态的呢?他们不能有物体。我只想向 File 类添加尽可能多的方法(这些方法当前位于具有不同名称的类中)。 c# 1 个回答 Voted Best Answer rotabor 2024-08-21T02:07:37+08:002024-08-21T02:07:37+08:00 嗯,是的,什么是“类重载”?向 File 类添加尽可能多的方法是可以理解的。 正如 @EvgeniyZ 已经建议的那样,您可以使用扩展方法,但这样您就不能使用静态方法扩展类。 using System; static class SuperString { public static string Dyr(this string s) { return s.Substring(0,2); } public static bool IsNullOrEmptyOrWhiteSpace(string s) { return string.IsNullOrEmpty(s) || string.IsNullOrWhiteSpace(s); } } static class Program { static void Main() { Console.WriteLine("asdf".Dyr()); Console.WriteLine(SuperString.IsNullOrEmptyOrWhiteSpace("asdf")); } } 这里 Dyr 是一个扩展 String 类的方法。 如果您考虑一下,在现有限制内使用静态方法扩展类是没有意义的,因为我们将无法访问该类的私有成员。因此,可以在任何类中创建使用所需类型的对象的静态方法。举个例子,IsNullOrEmptyOrWhiteSpace.
嗯,是的,什么是“类重载”?向 File 类添加尽可能多的方法是可以理解的。
正如 @EvgeniyZ 已经建议的那样,您可以使用扩展方法,但这样您就不能使用静态方法扩展类。
这里 Dyr 是一个扩展 String 类的方法。
如果您考虑一下,在现有限制内使用静态方法扩展类是没有意义的,因为我们将无法访问该类的私有成员。因此,可以在任何类中创建使用所需类型的对象的静态方法。举个例子,
IsNullOrEmptyOrWhiteSpace
.