我在Glass
课程中有以下访问者:
public bool isGlassEnabled{
get {
if (System.Environment.OSVersion.Version.Major >= 6) {
DwmIsCompositionEnabled( ref en );
if (en > 0) {
return true;
} else { return false; }
} else { return false; }
}
}
(我不确定代码是否有效,但这不是我感兴趣的内容)
现在我们位于MainClass
。是否有可能像这样访问isGlassEnabled
:
bool myBool = **without new** Glass.isGlassEnabled;
答案 0 :(得分:3)
使这项工作
bool myBool = **without new** Glass.isGlassEnabled;
您只需要static
属性:
public static bool isGlassEnabled{
get { ... }
}
然后bool myBool = Glass.isGlassEnabled;
将简单编译。
你可能在吸气器中需要的一切都是静态的,所以没问题。
编辑:
正如其他人所说,您的代码包含一个变量en
,应该是本地变量或静态变量
连同其他分支折叠:
public static bool isGlassEnabled
{
get
{
if (System.Environment.OSVersion.Version.Major >= 6)
{
Int32 en; // or whatever type exactly needed
DwmIsCompositionEnabled( ref en );
if (en > 0)
return true;
}
return false;
}
}
答案 1 :(得分:2)
是的,您应该将属性标记为静态。
public static bool isGlassEnabled
答案 2 :(得分:2)
使用静态修饰符
public static bool isGlassEnabled
答案 3 :(得分:1)
使用静态属性:
public static bool isGlassEnabled{
get {
TypeTheTypeOfEnVariableHere en;
if (System.Environment.OSVersion.Version.Major >= 6) {
DwmIsCompositionEnabled( ref en );
if (en > 0) {
return true;
} else { return false; }
} else { return false; }
}
}