Допустим, у нас есть эти два класса:
public class Derived : Base
{
public Derived(string s)
: base(s)
{ }
}
public class Base
{
protected Base(string s)
{
}
}
Как я могу узнать из конструктора Base
, что Derived
является вызывающим? Вот что я придумал:
public class Derived : Base
{
public Derived(string s)
: base(typeof(Derived), s)
{ }
}
public class Base
{
protected Base(Type type, string s)
{
}
}
Есть ли другой способ, который не требует передачи typeof(Derived)
, например, какой-то способ использования отражения из конструктора Base
?