C#で以下のようにCls1で定義している構造体をCls2の引数に使いたいのですが
定義されていないエラーになります。
Cls2で再定義すると、同じものが2つできて修正するときに困りそうです。
プログラムの構造について、何か良い方法がありましたら教えてください。
namespace A {
class Cls1 {
public struct Kumi {
public string name;
public int age;
}
private test(){
Kumi k;
k.name = "太郎";
k.age = 5;
Cls2 c2 = new Cls2();
c2.Write(k);
}
}
}
別のクラスファイル
namespace A {
class Cls2 {
public Write(Kumi k){
}
}
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
まったく独立したクラスならCls2の定義を
public void Write(Cls1.Kumi k)
{
}
といった具合にする方向かと ・・・ クラスの独立性を損ないそうですが
または Cls2を Cls1の継承したクラスにしてしまえば
public void Write(Kumi k)
{
}
と記述も可能ですよ
No.2
- 回答日時:
namespace A {
class Cls1 {
public struct Kumi {
public string name;
public int age;
}
private void test() {
Kumi k;
k.name = "太郎";
k.age = 5;
Cls2 c2 = new Cls2();
c2.Write(k);
}
public static void Main() {
Cls1 c = new Cls1();
c.test();
}
}
}
namespace A {
class Cls2 {
public void Write(Cls1.Kumi k){
System.Console.WriteLine("{0} {1}", k.name, k.age);
}
}
}
No.1
- 回答日時:
> C#で以下のようにCls1で定義している構造体をCls2の引数に使いたいのですが
> 定義されていないエラーになります。
それでは、クラス外に定義されることをお勧めします。
クラス1とクラス2の両方で利用したいのであれば、この構造体もそれらのクラスと同格に(つまりいずれかのクラス内に定義したりせずに)定義してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Java java final 1 2022/06/10 22:49
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
構造体を引数とする、クラス間のデータの受渡し方法について
C言語・C++・C#
-
C#で構造体の配列を持った構造体を使いたいのですが
C言語・C++・C#
-
別ファイルの構造体の値を読み込む、変えるには?2
C言語・C++・C#
-
-
4
c++,ある関数のクラスから別のクラスの関数を呼ぶ
C言語・C++・C#
-
5
1 つ以上の複数回定義されているシンボルが見つかりました
C言語・C++・C#
-
6
for文の中にswitch文はいれられない??
C言語・C++・C#
-
7
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
8
deleteで開放するとエラーになる原因がわからない
C言語・C++・C#
-
9
戻り値で構造体を返すことは可能でしょうか?
C言語・C++・C#
-
10
ダイアログボックスで指定したサイズどおり表示されない
C言語・C++・C#
-
11
コンボボックスのドロップダウンリストが表示されない
C言語・C++・C#
-
12
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
13
既定のコンストラクタがありません。というエラーについて
C言語・C++・C#
-
14
適切な変換関数が存在しない???
C言語・C++・C#
-
15
VC++で文字列から任意の文字を削除するにはどうしたらいいですか?
C言語・C++・C#
-
16
静的でないメンバ関数の呼び出しが正しくありません
C言語・C++・C#
-
17
Debug Assertion Failed?
C言語・C++・C#
-
18
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
19
CString型の文字列連結について
C言語・C++・C#
-
20
C#で自分のウインド・ハンドルを取得するにはどうすればよいのでしょうか
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
型Containerのメソッドadd(S...
-
C++でテンプレートクラスの仮想...
-
ひとつのファイルにクラスは1つ?
-
c# Undo/Redo 関係
-
Javaでswingの画面変わる際に他...
-
SwingでgetContentPaneのエラー...
-
dynamic_castの必要性
-
生成されたサーブレットのエラ...
-
3種類の連想配列(java)
-
リレーションエンティティクラ...
-
C#にて別クラスの関数を使いたい
-
エクセルVBAで、条件に一致する...
-
「エンクロージング型」と「外...
-
EXCEL VBAにて動的にCheckBOXを...
-
変数名の付け方
-
同じクラスにならない確率を教...
-
「タイプ初期化子が例外をスロ...
-
インスタンス参照でアクセスで...
-
VB.NETでフォーム上にExcelのよ...
-
配列の重複する値とその個数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
C#にて別クラスの関数を使いたい
-
c++,ある関数のクラスから別の...
-
親クラスから子クラスへアクセス。
-
C#でほかのファイルにある自作...
-
クラス間でのデータ参照
-
構造 他のクラスの構造体を別...
-
範囲外の数値を代入したらエラ...
-
ひとつのファイルにクラスは1つ?
-
C++でfriendクラスにしているの...
-
Java リフレクションについて
-
継承したクラス側のクラス名の取得
-
C# インターフェイスの実装
-
java-別クラスの変数の使い方を...
-
C#のクラスライブラリでメッセ...
-
visual studioのデザイナ画面で...
-
C# log4netの使い方
-
a href="..." とServlet
-
アップキャスト、ダウンキャス...
-
オブジェクトのデータをもとにX...
おすすめ情報