这是一个非常初学的问题,但我很难过,我无法弄清楚如何从中得到我想要的东西 . 我有我的第一个类获取信息(数据库/文本文件/无论如何),但我希望它将该信息转发到Class2 .
例如,第一个:
public class Class1
{
private int first;
private string firstString;
private bool isTrue;
public void SomeMethod()
{
first = 1;
firstString = "FirstString";
isTrue = true;
}
}
这里 SomeMethod
设置了我需要传递给Class2的所有属性 .
ClassTwo看起来像
public class Class2
{
private int first;
private string FirstString;
private bool isTrue;
private int second;
private string SecondString;
private bool isFalse;
public void SomeOtherMethod()
{
}
}
这里我想要的是 SomeOtherMethod()
使用在Class1的 SomeMethod()
中设置的值设置第一组属性 . 这样我就可以创建一个 Class2
类型的对象并添加我想要的对象 .
2 回答
您必须为Class1的属性定义get accessors,因为它们都不能从类外部访问,而Class2需要使用它们的值 . 使用get访问器定义公共属性可能很有用:
让Class1中的每个属性都像这样定义,您可以访问这些值 . 在调用SomeMethod之后,可以通过两种简单的方式来均衡两个对象的属性(另请参阅:Signatures and overloading):
即使上面的技术看起来像你要求的,最好是使用constructors初始化类的属性 . 这样,每次创建Class1对象时都不必调用SomeMethod,也可以在创建新对象时设置其默认值 . 此外,为属性提供更多通用名称将使您免于重复 . 我编写了一些代码,为您提供可理解的语法,以防止将来出现无法访问和重复的问题 .
如果你给出一个简短的例子,请参见MSDN List page .
正如其他一些评论员所说,你真的应该重用你的数据定义 . 这样的事情可以让你开始:
然后使用这样的类: