defining class with generics inheritance and an interface
===

I am trying to create a class that derives from ObservableCollection and restricts itself to only being used with a particular base class (BaseMetadata). It also needs to implement the IXmlSerializable interface as I am adding a persistence capability to the collection. 

Here is the class definition of the collection...

    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)
        {
        }
    }

...the BaseMetadata can be simplied to an empty class and still produce the error...

    public class BaseMetadata
    {
    }

...I get the following error....

    CollectionMetadata<T>.IXmlSerializable.GetSchema()': 
        containing type does not implementinterface 
        'System.Xml.Serialization.IXmlSerializable'

...on the following line from the above code...

    XmlSchema IXmlSerializable.GetSchema()

I must be missing something really obvious?