WPF对象方法使用不匹配

问题描述

我定义俩个class,一个WorkStation,另外一个是WorkStations。后者是前者的集合对象我在一个WPF程序中调用时,却出现类型转换错误。错误如下:Cannotimplicitlyconverttype'System.Collections.ObjectModel.ReadOnlyCollection<WpfApplication1.WorkStation>'to'WpfApplication1.WorkStation'E:WorkDirLevel4DevWpfApplication1WpfApplication1FileUploadNew.xaml.cs9535WpfApplication1相关的代码:publicclassWorkStation//WorkStation类{privateStringstationName;privateStringstationAddress;privateStringstationPort;privateStringstationListPath;privateStringstationFilePath;publicWorkStation(){}publicStringContent{get{returnstationName;}//To-do-improve}publicStringStationName{get{returnstationName;}set{stationName=value;}}}//WorkStationList类publicclassWorkStationList{privateList<WorkStation>workStations;privateintlength;publicWorkStationList(){workStations=newList<WorkStation>();length=0;ReadWorkStationFile("");}publicReadOnlyCollection<WorkStation>AllWorkStations{get{returnnewReadOnlyCollection<WorkStation>(workStations);}}}//程序中调用代码,出错语句是element=lstStation.AllWorkStations;WorkStationListlstStation=newWorkStationList();WorkStationelement=newWorkStation();String[]arrTV={"WorkStation_1","WorkStation_2","WorkStation_3","WorkStation_4","WorkStation_5"};//Demofor(inti=0;i<lstStation.Length;i++){element=lstStation.AllWorkStations;//wrong-need-improvelstNavigator.Items.Add(element.Content);//lstNavigator.Items.Add(arrTV[i]);//To-do-improve}}catch(Exceptione){MessageBox.Show(e.Message);}

解决方案

解决方案二:
lstStation.AllWorkStations类型是ReadOnlyCollection<WorkStation>element类型是WorkStation肯定会出错改成element=lstStation.AllWorkStations[i]
解决方案三:
确实像你说的,问题解决。多谢!
解决方案四:
一个集合怎么能转成一个对象!!基础不扎实

时间: 2024-09-30 21:37:49

WPF对象方法使用不匹配的相关文章

PowerShell String对象方法小结_PowerShell

从之前的章节中,我们知道PowerShell将一切存储在对象中,那这些对象中包含了一系列中的称之为方法的指令.默认文本存储在String对象中,它包含了许多非常有用的处理文本的命令.例如,要确定一个文件的扩展名,可以使用LastIndexOf()获取最后一个字符"."的位置,继续使用Substring()获取扩展名子串. PS> $path = "C:\prefs.js" PS> $path.Substring( $path.LastIndexOf(&q

class-这不是2个方法吗,这样写是方法.方法 不都是对象.方法吗

问题描述 这不是2个方法吗,这样写是方法.方法 不都是对象.方法吗 public void init() throws ServletException { // 获取ServletContext对象 getServletContext().setAttribute("count", 0); } 这不是2个方法吗,这样写是方法.方法 不都是对象.方法吗 解决方案 getServletContext()返回一个对象,他后面带点,就和用哪个对象后面带点一样的道理 解决方案二: 万物皆对象,

JavaScript中Math对象方法使用概述

 JavaScript中Math对象方法如向上取整,有小数就整数部分加1,四舍五入.向下取整等等,下面为大家详细介绍下 1.丢弃小数部分,保留整数部分 parseInt(5/2)   2.向上取整,有小数就整数部分加1   Math.ceil(5/2)   3,四舍五入.   Math.round(5/2)   4,向下取整   Math.floor(5/2)   Math 对象的方法 FF: Firefox, N: Netscape, IE: Internet Explorer   方法 描述

Recordset对象方法

对象 发现论坛里面问此类问题的人太多,所以贴出来.很有可能和以前有些人发的帖子重复,如果重复的话不要拿砖头砸我啊 :) Recordset对象方法 Open方法 recordset.Open Source,ActiveConnection,CursorType,LockType,Options Source Recordset对象可以通过Source属性来连接Command对象.Source参数可以是一个Command对象名称.一段SQL命令.一个指定的数据表名称或是一个Stored Proce

复制js对象方法

复制js对象方法,需要的朋友可以参考下   复制代码 代码如下: CSSCommonJS.DeepCopy = function (json) {     if (typeof json == 'number' || typeof json == 'string' || typeof json == 'boolean') {         return json;     } else if (typeof json == 'object') {         if (json instan

java语法问题我解读成是 类.对象.方法

问题描述 java语法问题我解读成是 类.对象.方法 DateShare.user.setId ( ); 是不是类.对象.方法 我理解有没有错,什么情况下才应该这么写,因为我一般情况下看都是 对象.方法 解决方案 DateShare.user.setId ( ); DateShare:类名 user:DataShare类中的一个静态成员变量,是一个已经初始化的对象. setId():user对象的一个方法 类似的应用场景有: System.out.println() System.err.pri

ios-IOS 如何在C里调用OC对象方法

问题描述 IOS 如何在C里调用OC对象方法 在做一个物联网的东东,接口程序是C语言的,要调用我写的一个类里的蓝牙连接收发方法,然后返回对应的状态值,求教要如何在一个C语言的类里调用OC类的方法,用得xcode6.1 解决方案 在C语言写的代码里,引入OC类需要的类库,然后声明你需要的OC里的类对象就可以了,oc本身就是C的一个超集,是兼容C的

javascript-关于js中在函数对象构造器中定义对象方法的问题

问题描述 关于js中在函数对象构造器中定义对象方法的问题 为什么函数前要有this.changeName=changeName 我是个新手 谢谢了 解决方案 无关在函数前后,赋值是因为为了调用到person内部定义的changeName函数,要不访问不到.也就是为了实现下面 myMonther.changeName('Ballmer');//这么使用函数 解决方案二: changeName是个私有函数,外部是访问不到的,所以要想在外部能够访问到就必须给个外部能访问到的公有属性或者公有方法

java中 静态类.静态方法 。类.方法。 静态类.方法。 对象.方法。他们之间的区别是什么?

问题描述 java中 静态类.静态方法 .类.方法. 静态类.方法. 对象.方法.他们之间的区别是什么? java中 静态类.静态方法 .类.方法. 静态类.方法. 对象.方法.他们之间的区别是什么? 解决方案 [少废话,上代码]: // 外部类,不能是静态的 public class OuterClass { // 静态方法,又称为类方法,属于Test类 public static void staticFun() { } // 非静态方法,又称为实例方法,属于Test类的具体实例 publi