在密封类中使用比类本身具有更大可访问性的方法是否合理。 当然只是不考虑后面的重构...
例子
class SomeClass
{
public void SomeMethod()
{
...
}
}
最佳答案
(我的回答仅适用于 C#)
当然有用!
原因 1:
访问修饰符不能全部按顺序排列。
您认为 protected
比 internal
更易于访问还是更差?
原因 2:
覆盖基类方法和实现接口(interface):
internal sealed class MyClass
{
public override string ToString()
{
return "How would you do this without public methods?";
}
}
现在通过将 MyClass 转换为 Object,该方法可以暴露在程序集之外。
在实现 IEnumerator 时经常使用这种模式。通常真正的类(class)是私有(private)的(甚至不是内部的)。
原因 3:
访问私有(private)嵌套类:
public class A
{
public string TellMeWhy()
{
return B.TheReason;
}
sealed private class B
{
internal static string TheReason =
"How would you access any of these members " +
"if they all have to be private?";
}
}
关于c# - 比类更易访问的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6043390/