Я не понимаю, почему это было бы нелогично, поскольку похоже, что вы пытаетесь получить DataHolder1
всегда в классе D1
. Скорее, почему ваш класс не может создавать с экземпляром класса Data и использовать его в методе, подобном
public class D1 : BaseClass
{
private readonly DataHolder1 holder;
public D1(DataHolder1 holder) { this.holder = holder; }
public override BaseDataHolder Method1()
{
holder.localProp1.Dump();
holder.localProp1 = "change1";
return holder;
}
}
Тогда вы можете просто сказать
var item1 = new D1(new DataHolder1());
BaseDataHolder data = item1.Method1();