3
我們有聲納報告說,我們項目中的很多類違反了MissingSerializationConstructorRule,但是類和它的基類都沒有實現任何Iserializable接口,任何人都不知道爲什麼?爲什麼一個類沒有實現ISerializable接口違反MissingSerializationConstructorRule
例如聲納說:
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
}
}
兩個接口沒有任何實現ISerializable的,即
public class RmdsPublicationPage : Dictionary<string, object>, IRmdsPublicationPage
public interface IRmdsPublicationPage : IDictionary<string, object>, IDisposable
ICommentPage?怎麼樣?你還沒有發佈。 –
從ISerializable派生的任何子類必須實現特殊的構造函數,否則它們將不能正確反序列化。字典,所以你的孩子應該從它的類。 – LightStriker
啊,謝謝你們,我正在研究IDictionary而不是字典。 –