gpt4 book ai didi

c# - 为什么一个类没有实现 ISerializable 接口(interface)违反了 MissingSerializationConstructorRule

转载 作者:行者123 更新时间:2023-11-30 16:21:40 32 4
gpt4 key购买 nike

我们有声纳报告说我们项目中的许多类违反了 MissingSerializationConstructorRule ,但是该类及其基类均未实现任何 Iserializable 接口(interface),有人知道为什么吗?

例如,声纳说:

public class CommentPage : RmdsPublicationPage, ICommentPage 
{
*MissingSerializationConstructorRule
The required constructor for ISerializable is not present in this type.*
public CommentPage()
{
this["COMMENTTXT"] = null;

对应类所在的地方

public class CommentPage : RmdsPublicationPage, ICommentPage
{
public CommentPage()
{
// do something
}
public void Update(string comment)
{
//something else
}
}

两个接口(interface)也没有实现ISerializable,即

public class RmdsPublicationPage : Dictionary<string, object>, IRmdsPublicationPage

public interface IRmdsPublicationPage : IDictionary<string, object>, IDisposable

最佳答案

Dictionary(TKey, TValue)实现 ISerializable

[SerializableAttribute]
[ComVisibleAttribute(false)]
public class Dictionary<TKey, TValue> : IDictionary<TKey, TValue>,
ICollection<KeyValuePair<TKey, TValue>>, IDictionary, ICollection,
IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>,
IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, ISerializable,
IDeserializationCallback

关于c# - 为什么一个类没有实现 ISerializable 接口(interface)违反了 MissingSerializationConstructorRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031241/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com