在C#中检查来自不同类的变量

时间:2010-05-26 21:54:26

标签: c#

问候 -

我有2节课。一个称为“程序”,另一个称为“日志”。名为Programs的类在顶部附近有public const string m_sEnviron = "";,我需要通过名为Logs的类来检查m_sEnviron变量的设置。变量m_sEnviron将从名为Tidal的调度程序中设置,因此如何从其他类检查其值。如果这不是最好的,请告诉我更好的方法。

提前致谢。

此致

Namespace NightScripts
{
   class Program
   {

      public static string m_sEnviron {get; set;} 

      static void Main(string[] args)
      {

      }

      //Lots of other functions...

   }

   class Logs
   {
      //I try to get access to m_sEnviron but it will not show after I type Program.
   }
}

3 个答案:

答案 0 :(得分:7)

好吧,m_sEnviron 不是变量(/ field) - 它是const; 总是 ""

如果它是静态属性(或字段),那么Programs.m_sEnviron。如果它是实例属性(或字段),则someInstance.m_sEnviron应该有效,因为它是public - 但我会重命名它。

期待你的意思是它是static字段;哪些可以工作,但你应该至少有点谨慎,如果你开始使用多个线程等,这不一定很好。通常最好避免使用公共字段(更喜欢私有字段和公共字段)属性)。

例如:

public static string Environ {get;set;}

将是一个易于访问的公共静态属性Program.Environ

答案 1 :(得分:1)

const基本上是变量static和readonly。所以public const string m_sEnviron = "";意味着m_sEnviron将始终为空字符串。如果您尝试更改它,您将收到错误。

但是,要从Logs类中的方法访问它,您只需像静态变量一样访问它:

string foo = Programs.m_sEnviron;

答案 2 :(得分:0)

如果我正确理解你的问题,你可以指定变量所在的类作为静态类,因此不需要实例化。