我有一个像这样的简单类:
public class r_event
{
string name;
double time;
public r_event()
{
name = "none";
time = 0;
}
public r_event(string name, double time)
{
this.name = name;
this.time = time;
}
}
我已经在另一个类中创建了一个实例,如下所示:
r_event event1 = new r_event("SH_S", 2);
但我想只将这两个变量中的一个(事件,时间)分配给我的第二个类的局部变量;
实际上我想在第二个类中声明(例如)一个名为“name”的字符串,并将r_event类实例的“name”属性指定给name。 像这样的事情:
string name = event1.name;
但是不可能。我该怎么做这个工作?
答案 0 :(得分:1)
只是运行你的代码,请不要指出未指定其可访问性的变量private by default
如果您将变量访问权限声明为public
我只是测试了它,请阅读C# MSDN Access Modifiers < / p>
public class r_event
{
public string name;
public double time;
public r_event()
{
name = "none";
time = 0;
}
public r_event(string name, double time)
{
this.name = name;
this.time = time;
}
}
以同样的方式调用
r_event event1 = new r_event("SH_S", 2);
如果您熟悉Auto-Property's
,可以这样做
public class r_event
{
public string name { get; set; }
public double time { get; set; }
public r_event()
{
name = "none";
time = 0;
}
public r_event(string name, double time)
{
this.name = name;
this.time = time;
}
}
答案 1 :(得分:0)
尝试public string name;
,您的保护级别无法访问您的变量。
答案 2 :(得分:0)
只需添加关键字 public ,即可将您已公开的字段设为公开。例如
public string name;
public double time;
这将允许您在课堂外访问它们。 事实上,创建(公共)属性比使用公共字段更好。您可以通过添加以下内容来实现此目的......
public string Name
{
get { return name: }
set { name = value; }
}
public double Time
{
get { return time; }
set { time = value; }
}
希望这会有所帮助(我建议您查看属性和辅助功能/访问修饰符)。