我是靠谱客的博主 无心老虎,最近开发中收集的这篇文章主要介绍WCF分布式开发常见错误(8):不一致的访问性Inconsistent accessibility,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
在设计数据契约类,并使用其做参数实现客户端与服务端数据交互的时候,编辑服务类,出现以下错误:
Error 1 Inconsistent accessibility: parameter type 'WCFService.UserDataContract' is less accessible than method 'WCFService.IWCFService.AddNewUser(WCFService.UserDataContract)' E:CodesVs2008WCFServiceDataContractFrankXuLeiWCFServiceFrankXuLeiWCFServiceWCFService.cs 19 14 WCFService
其它类似错误信息:
其它类似错误信息:
Error 2 Inconsistent accessibility: return type 'WCFService.UserDataContract' is less accessible than method 'WCFService.IWCFService.GetUserByName(string)' E:CodesVs2008WCFServiceDataContractFrankXuLeiWCFServiceFrankXuLeiWCFServiceWCFService.cs 22 26 WCFService
解决办法:
解决办法:
此错误是由于数据契约类的访问属性设置与服务契约访问属性不一致所致,服务契约接口的访问行为public,服务类也是public,而数据契约类没有生命对应的访问属性。
我们把数据契约类添加public关键字即可。示例代码如下:
[DataContract]//数据契约属性声明
public class UserDataContract
{
[DataMember(Name = "UserName")]//数据成员标记,支持别名定义
public string Name
{
get;
set;
}
[DataMember(Name = "UserEmail")]//数据成员标记,支持别名定义
public string Email
{
get;
set;
}
[DataMember]//数据成员标记
public string Mobile
{
get;
set;
}
//没有[DataMember]声明,不会被序列化
public string Address
{
get;
set;
}
}
public class UserDataContract
{
[DataMember(Name = "UserName")]//数据成员标记,支持别名定义
public string Name
{
get;
set;
}
[DataMember(Name = "UserEmail")]//数据成员标记,支持别名定义
public string Email
{
get;
set;
}
[DataMember]//数据成员标记
public string Mobile
{
get;
set;
}
//没有[DataMember]声明,不会被序列化
public string Address
{
get;
set;
}
}
最后
以上就是无心老虎为你收集整理的WCF分布式开发常见错误(8):不一致的访问性Inconsistent accessibility的全部内容,希望文章能够帮你解决WCF分布式开发常见错误(8):不一致的访问性Inconsistent accessibility所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复