1
私はC#でオブジェクトのシリアライズに慣れてきています。デシリアライゼーションコンストラクタがINSTEADのデフォルトコンストラクタまたはIN ADDITION TOのどちらかと呼ばれるかどうか疑問に思っています。それが追加であれば、どのような順序で呼ばれていますか?たとえば、次のようにC#デシリアライゼーションコンストラクタはデフォルトのコンストラクタの代わりに呼び出されますか?
[Serializable()]
public class ReadCache : ISerializable
{
protected ArrayList notifiedURLs;
// Default constructor
public ReadCache()
{
notifiedURLs = new ArrayList();
}
// Deserialization constructor.
public ReadCache(SerializationInfo info, StreamingContext ctxt)
{
//Get the values from info and assign them to the appropriate properties
notifiedURLs = (ArrayList)info.GetValue("notifiedURLs", typeof(ArrayList));
}
}
Gotcha。いつ:this()が使用され、どのコードが最初に実行されますか?デフォルトコンストラクタコードまたは逆シリアル化コンストラクタコード? – Doug
あなたの「デフォルト」コンストラクタ内の部品 - それほど有用ではないと思いますが、そうではありませんか? – Carsten
ありがとうございました。 – Doug