Код: Выделить всё
public static class Deserializer()
{
public static T deserialize(string path) // T should be the classes that can do deserialization
{
// do deserialization
return (T)(deserializedObject)
}
}
public class CanDoDeserialization()
{
// class properties and methods
}
public class CannotDoDeserialization()
{
// class properties and methods
}
public class Program
{
public void Main()
{
CanDoDeserialization canInstance = new CanDoDeserialization()
canInstance = Deserializer.deserialize(somePath) //this should be okay
CannotDoDeserialization cannotInstance = new CannotDoDeserialization()
cannotInstance = Deserializer.deserialize(somePath) // this should raise compilation error
}
}
Очень признателен, если кто-нибудь может дать несколько советов по этому поводу. Спасибо.
Дополнительная информация:
Приведенный выше код представляет собой упрощенную версию. Мне нужно общее решение, если, скажем, у меня есть 10 классов, которые могут выполнять десериализацию, и 10, которые не могут. Каков наилучший подход к обобщению этого метода десериализации, который может быть реализован этими 10 классами (или даже больше)?
Подробнее здесь: https://stackoverflow.com/questions/790 ... s-instance
Мобильная версия