繁体   English   中英

无法指定公共变量类

[英]Not able to specify the public variable class

我的var关键字有问题

我已经在表单加载时定义了这样的内容

public partial class form1 :form
{
    public var a;


    private void form1_load(object sender, eventargs e)
    {
        // i have used "a" like this....
        a = abc.members blahhhh blahhhhh
        bindingsource1.datasource = a;
        datagridview1.datasource = bindingsource1;

    }
}

但我在这行上得到了错误

公共变量

类型或名称空间名称“ var”无法定义

我可以定义公共类变量,以便我可以访问该类中的所有方法吗?

var在C#不同于var在其它语言; 在C#中,您使用var来让编译器为您确定某个局部变量的类型,但是您不能使用它来声明字段/属性。

您必须指定实际类型。 我不知道a是什么,所以我不能告诉您使用哪种类型。

您必须使用具体类型而不是var-例如“ string”,“ int”,...

这是因为“ var”仅是语法暗示。 编译器会干扰具体类型,并插入它而不是var。 在您的情况下,这是不可能的,因为编译器看起来不会像form_load一样,它只会查看“ =”之后的表达式

附带说明:您不应将字段定义为公共字段。 将它们设为私有,并为其定义公共访问者或公共财产。 这样,您就不会将内部实现的细节泄漏给外界,并且如果您想更改此实现,也不会遇到任何问题-稍后会详细介绍。

如果要使其成为公共(而非本地)变量,则必须将其声明为特定类型,例如“字符串”,“ int”或自写类

具有隐式类型var的变量必须在方法范围内声明。

public int a; 我想就足够了。

按照http://msdn.microsoft.com/en-us/library/bb383973.aspx

仅在方法范围内声明的变量可以具有隐式类型var

当您需要linq查询时,可以在运行查询的任何地方(在函数内)分配显式键入的公共变量。 例如,

func()
 {
 var results = from p1 in phones where p1.name="abc";
 MyPublicVariable = results;
 }

MyPublicVariable可以枚举的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM