
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
クラス間でのデータ参照
-
C++のテンプレート関数やテンプ...
-
C#にて別クラスの関数を使いたい
-
無名パッケージからのインポート
-
C++でfriendクラスにしているの...
-
a href="..." とServlet
-
型Containerのメソッドadd(S...
-
C# 可変長変数のやりとりについて
-
c++,ある関数のクラスから別の...
-
C++ クラス名の前のdefine
-
VisualC++でクラスのヘッダーフ...
-
C#でほかのファイルにある自作...
-
Java リフレクションについて
-
Java
-
Genericsの型パラメータ
-
変数名の付け方
-
「タイプ初期化子が例外をスロ...
-
private static という変数の修飾
-
エクセルVBAで、条件に一致する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
javaでメインクラスが見つから...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
a href="..." とServlet
-
無名パッケージからのインポート
-
visual studioのデザイナ画面で...
-
import と extends について
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
C# インターフェイスの実装
-
親クラスから子クラスへアクセス。
-
c++,ある関数のクラスから別の...
-
Java
-
構造 他のクラスの構造体を別...
-
C++で親クラスの関数を呼び出す...
-
C++でfriendクラスにしているの...
-
java-別クラスの変数の使い方を...
-
下記のコードを実行すると、Mai...
おすすめ情報