接口成员未实现嗨,我有以下代码,但我一直收到错误:'JsonWcfService.GetVenues'doesnotimplementinterfacemember'GetVenuesByLocation(stringsearch)'。我是C和.Net的新手,所以大部分都是剪切和粘贴的。感谢您的帮助。IGetVenues.cs使用系统;使用System.Collections.Generic;使用System.Linq;使用System.Runtime.Serialization;使用系统服务模型;使用系统文本;使用System.ServiceModel.Web;namespaceJsonWcfService{[ServiceContract]publicinterfaceIGetVenues{[OperationContract]//返回JSON格式的属性[WebInvoke(Method="GET",ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Wrapped,UriTemplate="json/Venues/search={search}")]//方法列表GetAllVenuesMethod(stringsearch);[OperationContract][WebInvoke(Method="GET",ResponseFormat=WebMessageFormat.Json,RequestFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Wrapped,UriTemplate="json/Venues/location={search}")]ListGetVenuesByLocation(字符串搜索);}}GetVenues.svc.cs使用系统;使用System.Collections.Generic;使用System.Linq;使用System.Runtime.Serialization;使用系统服务模型;使用System.Text;使用System.Data.SqlClient;namespaceJsonWcfService{publicclassGetVenues:IGetVenues{publicListGetAllVenuesMethod(stringsearch){Listmylist=newList();使用(SqlConnectionconn=newSqlConnection("server=*****;database=******;Trusted_Connection=True;")){conn.Open();stringcmdStr=String.Format("Selectid,name,address1,town,postcode,lon,latfromvenuesearchWHEREsearchtermlike@searchterm");SqlCommandcmd=newSqlCommand(cmdStr,conn);cmd.Parameters.Add(newSqlParameter("searchterm","%"+Convert.ToString(search)+"%"));SqlDataReaderrd=cmd.ExecuteReader();if(rd.HasRows){while(rd.Read())mylist.Add(newVenue(rd.GetInt32(0),//rd.GetString(1),rd.IsDBNull(1)?null:rd.GetString(1),//rd.GetString(2),rd.IsDBNull(2)?null:rd.GetString(2),//rd.GetString(3),rd.IsDBNull(3)?null:rd.GetString(3),//rd.GetString(4)rd.IsDBNull(4)?null:rd.GetString(4),//rd.GetString(4)rd.IsDBNull(5)?0:rd.GetDecimal(5),//rd.GetString(4)rd.IsDBNull(6)?0:rd.GetDecimal(6)));}conn.Close();}返回我的列表;}}[DataContract]publicclassVenue{[DataMember]publicInt32id{get;放;}[DataMember]公共字符串名称{get;放;}[DataMember]publicstringaddress1{get;放;}[DataMember]publicstringtown{get;放;}[DataMember]publicstringpostcode{get;放;}[DataMember]publicDecimallon{get;放;}[DataMember]publicDecimallat{get;放;}publicVenue(intvenid,stringvenname,stringvenaddress1,stringventown,stringvenpostcode,decimalvenlon,decimalvenlat){id=venid;名字=文名;地址1=venaddress1;城镇=文敦;邮政编码=venpostcode;lon=文隆;纬度=纬度;}publicListGetVenuesByLocation(stringsearch){Listmylist=newList();使用(SqlConnectionconn=newSqlConnection("server=***;database=******;Trusted_Connection=True;")){conn.Open();stringcmdStr=String.Format("选择id,name,address1,town,postcode,lon,latfromvenuesearchWHEREsearchtermlike@searchterm");SqlCommandcmd=newSqlCommand(cmdStr,conn);cmd.Parameters.Add(newSqlParameter("searchterm","%"+Convert.ToString(search)+"%"));SqlDataReaderrd=cmd.ExecuteReader();if(rd.HasRows){while(rd.Read())mylist.Add(newVenueloc(rd.GetInt32(0),//rd.GetString(1),rd.IsDBNull(1)?null:rd.GetString(1),//rd.GetString(2),rd.IsDBNull(2)?null:rd.GetString(2),//rd.GetString(3),rd.IsDBNull(3)?null:rd.GetString(3),//rd.GetString(4)rd.IsDBNull(4)?null:rd.GetString(4),//rd.GetString(4)rd.IsDBNull(5)?0:rd.GetDecimal(5),//rd.GetString(4)rd.IsDBNull(6)?0:rd.GetDecimal(6)));}conn.Close();}returnmylist;}}[DataContract]publicclassVenueloc{[DataMember]publicInt32id{get;set;}[DataMember]publicstringname{get;set;}[DataMember]publicstringaddress1{get;设置;}[DataMember]publicstringtown{get;设置;}[DataMember]publicstringpostcode{get;放;}[DataMember]publicDecimallon{get;放;}[DataMember]publicDecimallat{get;放;}publicVenueloc(intvenid,stringvenname,stringvenaddress1,stringventown,stringvenpostcode,decimalvenlon,decimalvenlat){id=venid;名字=文名;地址1=venaddress1;城镇=文敦;邮政编码=venpostcode;lon=文隆;纬度=纬度;}}}第一个函数有效,但第二个函数没有你的类GetVenues没有实现错误消息中提到的方法。你在哪里?GetVenuesByLocation(stringsearch)在Venue类中定义。我注意到这个问题开始引起人们的兴趣。这里的问题很简单:你的类没有实现(即使它是抽象的,你也必须定义它们)接口中定义的所有方法。您的IDE应该在编译之前警告您。第二个函数不在Venue类中的GetVenues中,所以移到GetVenues中。以上为C#学习教程:接口成员分享的内容全部没有实现。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
