オブジェクトを複製し、新しく複製されたオブジェクトにイベント サブスクライバを再アタッチする方法を知りたいです。
背景: 文字列からオブジェクトに変換できる Converter を使用します。オブジェクトはコンバーターのコンテキストで認識されているため、そのオブジェクトを取得して、プロパティ値とイベント呼び出しリストをコピーしたいだけです。
[TypeConverter(typeof(MyConverter))]
class MyObject
{
public string prop1 { get; set; }
public string prop2 { get; set; }
public delegate void UpdateHandler(MyObject sender);
public event UpdateHandler Updated;
}
class MyConverter(...) : ExpandableObjectConverter
{
public override bool CanConvertFrom(...)
public override object ConvertFrom(...)
{
MyObject Copied = new MyObject();
Copied.prop1 = (value as string);
Copied.prop2 = (value as string);
// For easier understanding, let's assume I have access to the source
// object by using the object named "Original":
Copied.Updated += Original.???
}
return Copied;
}
ソースオブジェクトにアクセスできる場合、そのサブスクライバーをコピーされたオブジェクトイベントにアタッチする可能性はありますか?
よろしく、 グレッグ