- PR -

構造体のデータ受け渡しについて

1
投稿者投稿内容
PURU
会議室デビュー日: 2002/10/10
投稿数: 7
投稿日時: 2002-10-10 11:14
Windowsフォーム側で構造体を作成し、新規プロジェクトで作成したクラス(SetData)に
構造体のデータを渡したいのですが、わたすことができません。

public void SetData(??? EntryId)

型をどうすればいいのか、わからないのですが
ご指導お願いします。



Window(Form)

private void button2_Click(object sender, System.EventArgs e)
{
string ls_a;

str_data lstr_now = new str_data("a","b");
ls_a = lstr_now.s_text1;

class_test.Class1 class1 = new class_test.Class1();
class1.SetData(lstr_now);
}
public struct str_data
{
 public string s_text1,s_text2;
 public str_data(string a,string b)
 {
  s_text1 = a;
  s_text2 = b;
 }
} 

クラス(class1)

public class Class1
{
 public void SetData(??? EntryId)
 {
***********
//実行処理
 **********
}
}
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-10-10 11:20
引用:

PURUさんの書き込み (2002-10-10 11:14) より:
Windowsフォーム側で構造体を作成し、新規プロジェクトで作成したクラス(SetData)に
構造体のデータを渡したいのですが、わたすことができません。

public void SetData(??? EntryId)

型をどうすればいいのか、わからないのですが
ご指導お願いします。



構造体の型ではダメですか?
#なにか私が勘違いしてる???
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-10-10 12:16
こんにちは。

引用:

PURUさんの書き込み (2002-10-10 11:14) より:
Windowsフォーム側で構造体を作成し、新規プロジェクトで作成したクラス(SetData)に
構造体のデータを渡したいのですが、わたすことができません。

public void SetData(??? EntryId)

型をどうすればいいのか、わからないのですが
ご指導お願いします。



public void SetData(修飾.str_data EntryId) でだめなんですか?
 C#は守備範囲外なのですが、『新規プロジェクトで作成したクラス』ということなので、「str_data」を宣言したモジュールを、「Class1」側で参照できるようにしてください。そうすれば、「public void SetData(修飾.str_data EntryId)」でOKになると思います。

 「修飾」には、構造体を宣言した側のネームスペースを入れてください。


 ところで、これではプロジェクト同士を相互に参照しなければならないので、str_dataの宣言もClass1側に持っていけないか、検討されてはどうでしょうか。

[ メッセージ編集済み 編集者: Jitta 編集日時 2002-10-10 12:21 ]
PURU
会議室デビュー日: 2002/10/10
投稿数: 7
投稿日時: 2002-10-10 13:05
返答ありがとうございます。

「プロジェクト同士を相互に参照」をしなければいけない
とのことだったのですが。できればクラス側では、Window
sフォーム側の参照をしたくなかったので、とりあえず

public void SetData(object EntryId)

にして、データ取得することにしました。
1

スキルアップ/キャリアアップ(JOB@IT)