SerializableクラスでSecurityPermissionを使用することの重要性は何ですか?
[Microsoftのサイト][1]の記事では、次のようにSerializableクラスを作成することを提案しています。
[Serializable]
public class PleaseSaveMe : ISerializable
{
public readonly int Age;
public readonly string Name;
public int KarateSkills;
public PleaseSaveMe(int Age, string Name)
{
this.Age = Age;
this.Name = Name;
}
// Serialization Methods
protected PleaseSaveMe(SerializationInfo info, StreamingContext context)
{
Age = info.GetInt32("Age");
Name = info.GetString("Name");
KarateSkills = info.GetInt32("KarateSkills");
}
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("Age", Age);
info.AddValue("Name", Name);
info.AddValue("KarateSkills", KarateSkills);
}
}
しかし、SecurityAction.LinkDemandのドキュメントには、.NET 4.0(私が使用しているもの)では使用しないように特に記載されています。代わりに何を使用すればよいですか?その属性も必要ですか?
ウィリアム