我想知道如何使用“using”语句从另一个.cs文件中获取变量。 像
using (namespace here)
Output(A, 8);
和(名称空间在这里)的文件将有
A = 3
我可以直接引用该变量,还是需要以其他方式找到它?
答案 0 :(得分: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);
}
}
}
答案 1 :(得分:1)
您无法动态更改此类代码的范围。标识符的含义是在编译时确定的,因此您无法在运行时更改其含义。
创建一个类或接口,指定要从不同文件中使用的内容,然后继承该类或实现接口以在不同文件中进行不同的实现。当您使用其中一个实现时,您将从该文件中获取值。
示例:
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);
答案 2 :(得分:0)
.CS文件包含类,而不包含变量。如果.CS文件包含具有静态属性A的类,则只需引用该静态属性:
Output(ClassName.A, 8);
否则,您需要提供更多关于拥有以及您尝试做什么的背景信息。