c# -如何传递ClassA'的属性作为ClassB'的参数
本文关键字:ClassB 参数 属性 何传递 ClassA | 更新日期: 2023-09-27 17:53:56
我相信下面的答案是基本的,但我的c#知识也是如此。我已经搜索了周围,无法找到一个答案,在我的应用程序工作。我有以下代码(从我的实际代码中简化,在记事本中,所以我希望我没有把语法弄得太乱)。因为我不能让它工作,我认为有一个错误的地方。我的最终代码要复杂得多。我希望能够让dataA和dataB类携带单独的属性集,因为它们各自代表不同的对象。希望能了解更多。谢谢你,提前。
我得到以下错误:
'double'不包含'prop1'的定义,并且无法找到接受'double'类型的第一个参数的扩展方法'prop1'(您是否缺少using指令或程序集引用?)
public class ClassA
{
// Class constructor
public ClassA(double arg1, double arg2)
{
prop1 = arg1;
prop2 = arg2;
}
// Class properties
public double prop1 { get; set; }
public double prop2 { get; set; }
}
public class ClassB
{
// Class constructor
public ClassB(double arg3)
{
var1 = arg3.prop1;
var2 = arg3.prop2;
}
// Class properties
public double var1 { get; set; }
public double var2 { get; set; }
}
class Program
{
static void Main(string[] args)
{
ClassA dataA = new ClassA(1.0, 2.0);
ClassB dataB = new ClassB(dataA);
// end result: dataB.var1 and dataB.var2
}
}
修改ClassB的构造函数,使其接受ClassA:
public class ClassB
{
// Class constructor
public ClassB(ClassA arg3)
{
var1 = arg3.prop1;
var2 = arg3.prop2;
}
// Class properties
public double var1 { get; set; }
public double var2 { get; set; }
}