>>950
インターフェイスを使う
DLL側
interface IHoge { void SetHoge(int value); }
public void CreateHoge<T>() where T : new(), IHoge { var hoge = new T(); hoge.SetHoge(1234); return hoge; }
呼び出し側
class HogeImpl : IHoge { public void SetHoge(int value) { this.value = value; } }
HogeImpl hoge = CreateHogeを持ってるクラスのオブジェクト.CreateHoge<HogeImpl>();