C#でClassAを継承したClass1~20があり、
それらに以下のような処理をしているのですが、行数が増えすぎて見難いです。
もっと綺麗に書く方法はないのでしょうか?
class10の処理が「同じ処理」ならClassA型の配列でいけそうなんですが…。
class10だけ配列に入れないか、配列に入れてclass10の部分だけスキップするしか方法はないんでしょうか?
(頭が小文字なのはそのクラスのインスタンスです)
if(class1 != null)
{
class1.同じ処理
}
if(class2 != null)
{
class2.同じ処理
}
if(class3 != null)
{
class3.同じ処理
}
・
・
・
if(class10 != null)
{
class10.別の処理
}
・
・
・
if(class20 != null)
{
class20.同じ処理
}
No.1ベストアンサー
- 回答日時:
> class10の処理が「同じ処理」ならClassA型の配列でいけそうなんですが…。
なら、メソッドを呼び出す側から見て同じ処理にしてしまえばいいんです。
そのためのメソッドのオーバーライドです。
public ClassA
{
// ......
public virtual void someMethod()
{
同じ処理
}
}
Class10 : ClassA
{
// ......
public override void someMethod()
{
別の処理
}
}
という具合にして、ClassA型の配列で回して someMethod() を実行しましょう。
someMethod() の引数・戻り値はやりたい処理に合わせて修正してください。
思っていたのとは少し違ったのですが、自己解決しました。
ちょっと別の疑問が湧いてきたので、質問変えて投稿しました。
https://oshiete.goo.ne.jp/qa/9110015.html
よろしければこちらも回答していただけると助かります。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メルカリのメルカードで買い物...
-
VBAでループ内で使う変数名を可...
-
VBA SaveChanges 上書きされない
-
UWSC
-
vba 空のデータをSplitする時の...
-
VBの質問#if 0 then ってどう...
-
新婚半年でセックスレスになっ...
-
エクセルVBA マクロ処理中のポ...
-
TextBoxに日付を自動的に入れる
-
Webアプリや業務アプリのデータ...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
iD
-
一定の時間が経過したら、処理...
-
変数が""(空文字)かどうか判別...
-
ハードワイアとはどういう意味...
-
Access チェックボックスでチェ...
-
エクセルVBA ListBox選択を反...
-
レジ返品交換について(時間がか...
-
擬似言語の書き方について (2つ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
メルカリのメルカードで買い物...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
【Excel】特定の文字を含むセル...
-
EXCEL VBA マクロ 実行する度に...
-
switch の範囲指定
-
DoEventsがやはり分からない
-
VBの質問#if 0 then ってどう...
-
UMLでの例外処理
-
Do~Loopした回数をカウントしたい
-
VB.NET Excelを読み込んでDataT...
-
月度は何て読みますか?
-
findは動くがfindnextがマクロ...
-
リョウ・・・量?料?
-
VBA SaveChanges 上書きされない
-
iD
-
Select Case文でこのようなこと...
-
Loadイベント中にほかのイベン...
-
セルの値が0はクリアするマクロ
おすすめ情報