質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

2回答

1901閲覧

FormBを継承してFormAを作ったとき、FormAのときだけFormBのコンストラクタに引数を渡すには、どこになにを書けばよいでしょう。

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2015/12/22 08:53

いつもお世話になります。
C# Windows7 Formアプリケーション(.NET4.5)で、継承と引数で悩んでいます。

FormBを継承してFormAを作ったとき、FormAのときだけFormBのコンストラクタに引数を渡すには、どこになにを書けばよいでしょう。

挙動を見ると、FormAのInitializeComponentの前にFormBのコンストラクタを実行します。

ちなみに、FormAとFormBはmenuのFormから、buttonで

muneForm.cs
private void buttonA(object sender, Eventargs e){
//書くとしたらここ? どう書く?
new Forms.FormA().ShowDialog();
}

private void buttonB(object sender, Eventargs e){
//FormBのときは引数なし。
new Forms.FormB().ShowDialog();
}

のように呼び出しています。

FormA.cs
public partial class FormA : FormB {
public FormA() {
InitializeComponent();
}
}
}

FormB.cs
public partial class FormB : Form {
public FormB() {

/*ここを引数ありにする?
public FormB(string arg) {
*/
InitializeComponent();
}
}

よろしくご指導ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

C#

1using System; 2public class Test{ 3 public static void Main(){ 4 var b = new B(); 5 var a = new A("bar"); 6 } 7 8} 9public class B { 10 public B(){ 11 Console.WriteLine("引数なしB"); 12 } 13 protected B(string message){ 14 Console.WriteLine("引数ありB:"+message); 15 } 16} 17 18public class A:B{ 19 public A(string message):base(message){ 20 Console.WriteLine("引数ありA:"+message); 21 } 22}

投稿2015/12/22 11:04

ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0


投稿2015/12/22 09:13

編集2015/12/22 09:35
liguofeng29

総合スコア801

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2015/12/22 09:24 編集

extends -> : public A() { super("12345"); } -> public A():base("12345"){} ですかね
liguofeng29

2015/12/22 09:34

*javaから変換したc#なんでどっか間違ってるかも。 これみてない人多いね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問