我一直在使用命名空间来改善我的程序结构。我遇到了一个我希望使用一个公共静态方法的情况,该方法返回一个值而不调用它的封闭类。这样做的一种方法是使用out参数。所以,让我们说我有这样的代码:C#命名空间:调用方法和类
namespace Namespace1
{
namespace Namespace2
{
public class ClassName
{
public ClassName(Data data, out int AnInt)
{
AnInt = (int)data;
}
}
}
}
我可以用这个如下:
Int AnInt;
Namespace1.Namespace2.ClassName(data, out AnInt);
但是,让我们说,我想摆脱出来的参数。有没有什么办法可以做到这一点,而不暴露其他层次的层次结构,添加使用指令,或添加Func委托代理?你说:
Int AnInt = Namespace1.Namespace2.ClassName(data);
非常不清楚你在找什么...... –
你问成员名称是否可以和它们的封闭类型相同?如果是这样,那么不。你的第一块示例代码将编译一个非静态的构造函数。基于你想要的用法,我会看看使用'Data'的扩展方法来代替 - > int anInt = data。ToInt();' – Comintern