如何使用来自资源的另一个.cs文件中的变量“using”

时间:2012-11-21 20:45:14

标签: variables namespaces using c#

我想知道如何使用“using”语句从另一个.cs文件中获取变量。 像

using (namespace here)
Output(A, 8);

和(名称空间在这里)的文件将有

A = 3

我可以直接引用该变量,还是需要以其他方式找到它?

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);

否则,您需要提供更多关于拥有以及您尝试做什么的背景信息。