如何解决使用 System.Runtime.Serialization 但未找到 IgnoreDataMemberAttribute 和 DataMemberAttribute
我正在尝试让 this 小 JSONParser 工作。基本上,您只需将代码复制到您的项目中即可。我唯一改变的是命名空间,但在以下部分出现错误:
T member = members[i];
if (member.IsDefined(typeof(IgnoreDataMemberAttribute),true)) //error for IgnoreDataMemberAttribute
continue;
string name = member.Name;
if (member.IsDefined(typeof(DataMemberAttribute),true)) // error for DataMemberAttribute
{
DataMemberAttribute dataMemberAttribute = (DataMemberAttribute)Attribute.GetCustomAttribute(member,typeof(DataMemberAttribute),true); // error for DataMemberAttribute
if (!string.IsNullOrEmpty(dataMemberAttribute.Name))
name = dataMemberAttribute.Name;
}
结果:
error CS0246: Der Typ- oder Namespacename "DataMemberAttribute" wurde nicht gefunden
error CS0246: Der Typ- oder Namespacename "IgnoreDataMemberAttribute" wurde nicht gefunden
但是我的脚本顶部有 using System.Runtime.Serialization;
另一方面,导入工作正常。
object instance = FormatterServices.GetUninitializedObject(type); //no error here
这里出了什么问题?
我尝试将 using-directives 移动到命名空间中以确保没有任何东西填充命名空间,但它没有改变任何东西。
奇怪的是,Visual Studio 建议 using System.Runtime.Serialization
但当我点击它时,Visual Studio 只是显示它正在执行但没有任何反应。
解决方法
正如@Ian Kemp 在评论中所说,我必须添加对 dll 的引用。通常,我与骑手一起工作,这种情况会自动发生。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。