ObservableCollection から派生し、特定の基本クラス (BaseMetadata) でのみ使用されるように制限するクラスを作成しようとしています。コレクションに永続化機能を追加するため、IXmlSerializable インターフェイスも実装する必要があります。
コレクションのクラス定義は次のとおりです...
public class CollectionMetadata<T> : ObservableCollection<T> where T : BaseMetadata,
IXmlSerializable
{
XmlSchema IXmlSerializable.GetSchema()
{
return null;
}
public void ReadXml(XmlReader reader)
{
}
public void WriteXml(XmlWriter writer)
{
}
}
... BaseMetadata を空のクラスに単純化しても、エラーが発生する可能性があります...
public class BaseMetadata
{
}
...次のエラーが表示されます....
CollectionMetadata<T>.IXmlSerializable.GetSchema()':
containing type does not implementinterface
'System.Xml.Serialization.IXmlSerializable'
...上記のコードの次の行で...
XmlSchema IXmlSerializable.GetSchema()
私は本当に明らかな何かを見逃しているに違いありませんか?