问候 -
我有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.
}
}
答案 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)
如果我正确理解你的问题,你可以指定变量所在的类作为静态类,因此不需要实例化。