C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■92252 / )  Re[3]: メソッド内の一部のみ派生したクラスに変えたい
□投稿者/ tro (28回)-(2019/09/05(Thu) 11:24:43)
2019/09/05(Thu) 11:27:00 編集(投稿者)
2019/09/05(Thu) 11:26:07 編集(投稿者)

<pre><pre>返信ありがとうございます。

>この2種類の Func() は外的にはどういう風に区別される想定なのでしょうか?
基底クラスを使用するFunc()はアプリA、派生クラスを使用するFunc()はアプリBで使用するという形になっています。
基底クラス、及び基底クラスを使用するFunc()はアプリA、Bの共通dllに存在します。

>一つに統一というのは、内部的にフラグなどで切り分けたいということでしょうか?
従って共通のdllからは派生先のクラスは使用できませんので、フラグでの切り分けはできません。

ソースコードの文法ミスがあり申し訳ございません。
改めて書き直しました。

・基底クラス(アプリA、B共通、実際にはアプリAのみ使用)
public class TestBase
{
public string ValueCommon {get; set;}
}

・派生クラス(アプリBのみ)
public class TestA : TestBase
{
public string ValueA {get; set;}
}


・基底クラスを使用するメソッド(アプリA、B共通、実際にはアプリAのみ使用)
public virtual void Func()
{
TestBase testBase = new TestBase
{
ValueCommon = "Test"
};
}

・派生クラスを使用するメソッド(アプリBのみ)
public override void Func()
{
TestA testA = new TestA
{
ValueCommon = "Test"
};
}</pre></pre>
返信 編集キー/


管理者用

- Child Tree -