我想知道如何使用“using”语句从另一个 .cs 文件中获取等效变量。喜欢
using (namespace here)
Output(A, 8);
并且带有(此处的命名空间)的文件将具有
A = 3
我可以直接引用该变量,还是需要以其他方式定位它?
我想知道如何使用“using”语句从另一个 .cs 文件中获取等效变量。喜欢
using (namespace here)
Output(A, 8);
并且带有(此处的命名空间)的文件将具有
A = 3
我可以直接引用该变量,还是需要以其他方式定位它?
如果您只想在一个位置定义一组可以在其他地方使用的常量值,这是您将遵循的标准模式:
namespace MyNameSpace
{
public static class Constants
{
public const int MyFavoriteNumber = 3;
}
}
然后在其他地方你可以拥有:
using MyNameSpace;
namespace MyOtherNameSpace
{
public class MyClass
{
public void Method()
{
Console.WriteLine(Constants.MyFavoriteNumber);
}
}
}
您不能像这样动态更改代码的范围。标识符是什么,是在编译时确定的,因此您无法在运行时更改它的含义。
从不同的文件中创建一个指定要使用的类或接口,然后继承该类或实现接口以在不同的文件中进行不同的实现。当您使用其中一种实现时,您会从该文件中获取值。
例子:
public interface ICommon {
int A { get; }
}
public class File1 : ICommon {
public int A { get { return 42; } }
}
public class File2 : ICommon {
private int _value = 1;
public int A { get { return _value; } }
}
现在您可以使用不同的对象:
ICommon x;
if (something) {
x = new File1();
} else {
x = new File2();
}
Output(x.A, 8);
.CS 文件包含类,而不是变量。如果 .CS 文件包含具有静态属性 A 的类,您只需引用该静态属性:
Output(ClassName.A, 8);
否则,您需要提供更多关于您拥有什么以及您正在尝试做什么的背景信息。