У меня проблема с программой С#, которая включает в себя следующее:
class Program
{
static void Main(string[] args)
{
Child childInstance = Child.ParseFromA(@"path/to/Afile") as Child;
}
}
class Parent{
int property;
public static Parent ParseFromA(string filename)
{
Parent parent = new Parent();
// parse file and set property here...
return parent;
}
}
class Child : Parent
{
public void SomeAdditionalFunction() { }
}
При запуске этого кода childInstance
становится null
.
Я попытался выполнить следующее задание с явным приложением, но закончил с исключением: Child childInstance = (Child)Child.ParseFromA(@"path/to/Afile");
Так как я хочу разбирать некоторые типы файлов в экземплярах Parent
и Child
, я хочу сохранить конструкцию, которая генерирует экземпляры статическими методами.
Как мне получить правильный childInstance
?