C# SOAP服务引用CS0029错误:如何向Pippo类添加Pluto数据?
正确向Pippo类添加数据的方法
报错原因很明确:Pippo类中的plutoField是Pluto数组类型(Pluto[]),你试图将单个Pluto对象直接赋值给Pippo实例,类型完全不兼容,因此触发CS0029错误。
正确的操作是给Pippo的数组字段/属性赋值,具体代码如下:
// 实例化主对象和数据对象 Pippo ppp = new Pippo(); Pluto plt = new Pluto(); // 给Pluto对象的属性赋值 plt.aaa = "aaa"; plt.bbb = "bbb"; // 创建Pluto数组,将实例化好的对象放入其中,再赋值给Pippo的对应属性 // 注:SOAP自动生成的类通常会为私有字段plutoField生成公共属性Pluto ppp.Pluto = new Pluto[] { plt }; // 如需添加多个Pluto对象,可扩展数组内容: // Pluto plt2 = new Pluto(); // plt2.aaa = "aaa2"; // plt2.bbb = "bbb2"; // ppp.Pluto = new Pluto[] { plt, plt2 };
如果自动生成的类未生成对应公共属性,只能直接操作私有字段(不推荐,仅作特殊情况参考):
ppp.plutoField = new Pluto[] { plt };
提示:优先使用公共属性而非直接操作私有字段,这是面向对象编程的封装原则,也避免后续类结构变更导致代码出错。
内容的提问来源于stack exchange,提问作者gggpp
相关产品推荐
相关产品推荐

