- - PR -
【C#】メソッドのパラメータをキャストして参照渡しする方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-04 19:38
質問させて頂きます。
以下が開発環境です。 OS:Windows XP SP2 開発環境:VS2005 C# 件名の通り、メソッドのパラメータをキャストして参照渡しする方法が 無いかどうかを調べております。 とりあえず理想で記述してみた@のプログラムです。 fileAはfileBを継承すると仮定します。 ********************************************* @ private void test1() { fileA a = null; test( ref(fileB)a ); textBox.text = a.data.ToString(); } public void test2(ref fileB ins) { ins.data = 1; } ********************************************* ビルドすると構文的に不正となりコンパイルエラーになります。 他のやり方として、一端「a」をfileBの変数にキャストして 入れてやり、「test1」に渡してやれば出来はします。 上記のやり方で記述したAプログラムです。 ********************************************* A private void test1() { fileA a = null; fileB b = (fileB)a; test(ref b); a = (fileA)b; textBox.text = a.data.ToString(); } public void test2(ref fileB ins) { a.data = 1; } ********************************************* Aで出来ないことは無いと思うのですが、呼び出す度に 入れ替えを行う事は極力避けたいと思っています。 というのはイメージとして「test1」がアプリケーション処理で 「test2」が共通ライブラリの処理というイメージなのですが 極力アプリケーションに処理を書かせたくないという思いです。 レベル低い質問で申し訳ありませんが もしなにか良い方法あれば、御教授いただければ幸いです。 それでは宜しくお願い致します。 |
|
投稿日時: 2007-10-04 19:49
どうも。いわたといいます。
出来ないと思いますが、そもそもTest2の内部でインスタンスを生成したりするのでなければrefは不要ではないですか? |
|
投稿日時: 2007-10-04 20:18
いわたさんに同意
参照型の参照渡しをする必要がありますか? |
1