在C#中创建和使用自定义列表我正在尝试使用自定义列表,并且添加了一些额外的工具。我想将此列表应用于我创建的一长串自定义类。所有类都有一个ID号,List中的一些工具使用ID。这是我尝试使用的代码的一部分。我希望这可以帮助您理解我的问题。namespaceSimple_Point_of_Sales_System{publicclassMyList:List{内部intSetID(){returnthis.Max(n=>n.ID)+1;}internalTFind(intID){returnthis.Find(n=>n.ID==ID);}内部T添加(Tn){读取();添加(n);写();返回n;}internalvoidRemove(intID){读取();如果(this.Exists(t=>t.ID==ID))RemoveAll(t=>t.ID==ID);elseMessageBox.Show(GetType().Name+""+ID+"不存在。","MissingItem",MessageBoxButtons.OK,MessageBoxIcon.Error);写();}internalvoidEdit(intID,Tn){Read();如果(this.Exists(t=>t.ID==ID))this[FindIndex(t=>t.ID==ID)]=n;elseMessageBox.Show(GetType().Name+""+ID+"不存在。","MissingItem",MessageBoxButtons.OK,MessageBoxIcon.Error);写();}内部MyListRead(){Clear();StreamReadersr=newStreamReader(@"../../Files/"+GetType().Name+".txt");while(!sr.EndOfStream)Add(newT().Set(sr.ReadLine()));sr.Close();归还这个;}internalvoidWrite(){StreamWritersw=newStreamWriter(@"../../Files/"+GetType().Name+".txt");foreach(Tninthis)sw.WriteLine(n.}}publicclassCustomer{publicintID;publicstringFirstName;publicstringLastName;}publicclassItem{publicintID{get;set;}publicstringCategory{get;set;}publicstringName{get;set;}publicdoublePrice{get;set;}}publicclassMyClass{MyListCustomers=newMyList();MyListItems=newMyList();}}我认为你的自定义列表需要对泛型类型进行一些限制以允许它我会将您的签名更新为类似publicclassMyList:ListwhereT:IIdentity{....}在这里我使用IIdentity作为定义ID的接口,但它也可以是一个类。要更新您的代码,我会做这样的事情:publicinterfaceIIdentity{intID{get;}}publicclassCustomer:IIdentity{publicintID{get;设置;}公共字符串名字;公共字符串姓氏;}publicclassItem:IIdentity{publicintID{get;放;}公共字符串类别{得到;放;}公共字符串名称{得到;放;}publicdoublePrice{get;放;我将客户的ID更改为属性而不是实例变量。以上就是C#学习教程:在C#中创建和使用自定义List的全部内容分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
