我有下面的课程._commandLine变量声明为static.这个变量是否会在WkHtml类实例之间共享?
ps如果有工具可以在VS中显示这样的信息会很酷.例如,开发人员选择变量并获取有关变量的信息,是类之间共享的变量,它是线程安全的等等.
public class WkHtml
{
private static string _commandLine;
public void AddCommandLine(object value)
{
AddCommandLine("{0}", value);
}
public void AddCmdWithCond(string value, bool condition, object compareValue)
{
AddCmdWithCond(value, condition, compareValue, "");
}
public void AddCmdWithCond(string value, bool condition, object compareValue, string defaultValue)
{
if (compareValue != null && !string.IsNullOrEmpty(compareValue.ToString()) && Helpers.GetBool(compareValue) == condition)
AddCommandLine("{0}", value);
else
if (defaultValue != null)
AddCommandLine("{0}", defaultValue);
}
public void AddCommandLine(object parameter, object value, object defaultValue)
{
if (value == null || string.IsNullOrEmpty(value.ToString()))
{
value = defaultValue;
}
AddCommandLine(parameter, value);
}
public void AddCommandLine(object parameter, object value)
{
if (value == null || string.IsNullOrEmpty(value.ToString())) return;
_commandLine = _commandLine + string.Format(parameter.ToString(), value) + " ";
}
public string GetCommandLine
{
get { return _commandLine; }
}
}
Run Code Online (Sandbox Code Playgroud)
这个变量是否会在WkHtml类实例之间共享?
它是的 - 同样,它适用于没有,而是:类型本身.您可以使用不带任何类型实例的静态变量.
并获取有关变量的信息,是类之间共享的变量
你已经做过了 - Sintellisense中的符号和static修饰符.
它是线程安全的吗?
更复杂,无法通过这种方式进行评估 - 如果不深入理解代码及其使用方式,就无法评论线程安全性.