問題タブ [ref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
132 参照

c# - refキーワードが使用されている場合にのみこれが機能するのはなぜですか?

私はこのコンテナクラスを持っています:

そして、私は次のような別のクラスの関数を持っています:

そして、それはうまくいきます。

ただし、これが機能しない理由を知りたいです。

コンテナを取得する代わりにChangeFruitメソッドを変更すると、次のように実際のフルーツクラスを取得します。

次に、各引数でrefキーワードが渡されない限り、これは機能しません。なぜここにrefキーワードが必要で、そこには必要ないのですか?

ちなみに、後者のChangeFruitを呼び出すときは、次のように呼びます。

とは対照的にChangeFruit(myFruit);

コンテナクラスを渡すときにrefキーワードは必要ありませんが、各フルーツを個別に渡す場合は必要です。どちらの方法でも、myFruitを渡します。ただし、後者の例では、コンテナー全体ではなく、メンバー変数を個別に渡します。

0 投票する
4 に答える
9654 参照

c# - 後で使用するためにref変数を保存する方法は?

だからこれはうまくいく..

しかし、このようなことをすることは可能ですか?

ref変数がメンバー変数myAppleにコピーされると、その「ref-ness」が失われているように見え、再割り当てしても入力変数は変更されなくなります。これを回避する方法はありますか?

0 投票する
3 に答える
93 参照

c# - REFと配列、およびメソッドの使用についてサポートが必要

わかりました。refパラメーター、配列、メソッドの使用を含むC#クラスからラボを行っています。これをしている間に私が遭遇するいくつかの問題があり、私は助けを求めています。だから..最初に、私が抱えている問題を説明するのに役立つように、問題を最も単純なチャンクに変更しました。簡略化されたコードは次のとおりです。

ここで、uがコードをコンパイルしようとすると、「非静的メンバー'Repository.titles'にアクセスするにはオブジェクト参照が必要です」というエラーが表示されるため、コンパイルできないことに気付きます。問題は、3つのメソッドの形式が、割り当てで指示されたとおりに正確に投稿されている必要があることです。では、このテンプレートを所定の位置に保持しながら、この問題を回避するにはどうすればよいですか?

その他の質問ですが、メソッドdisplayBooksのコンテンツをメインでどのように表示しますか?(私は問題のためにここまで到達していません)。

よろしく、そして助けてください!

- - - - - - - - - - - - 助けてくれてありがとう !!!---------

0 投票する
2 に答える
140 参照

c# - 配列、メソッド、およびrefパラメーターに関するその他の問題

今日、私はC#クラスの宿題に取り組んでいました。前の問題へのリンク今、私は何が悪いのか理解していない別の問題を抱えています。したがって、最初の投稿で静的パラメーターに問題があったので、それを説明して修正しました。しかし今、「オブジェクト参照がオブジェクトのインスタンスに設定されていない」というエラーが表示されます。タイプミスがないか確認しましたが、まだ実行できません。PS、問題はコンパイル時ではなく、すべてのデータが入力されたとき、およびデータを入力してEnterキーを押した後にNを押したときに発生します。ご覧ください。

原因は何ですか?

よろしく、そしていくつかのアドバイスを期待しています。

PS、displayBooksメソッドはまだ終了していません。

0 投票する
7 に答える
15842 参照

c# - refなしでlistが関数に渡されたときに、ref付きで渡されたように動作するのはなぜですか?

私がこれをひどく間違えなかったならば、この振る舞いは私にとって奇妙です。説明するのではなく、以下にサンプルコードを投稿し、yではなくxを出力する理由を教えてください。

出力は3になると思いますが、出力は5になります。これを行うと、出力が5になる可能性があることを理解しています。

0 投票する
3 に答える
4870 参照

c# - ref キーワードを使用して、将来の使用のためにオブジェクト参照を保存します

次のような単純なクラスがあるとします。

このクラスは、コンストラクターに渡された要素を、その要素が何であれ保存します。ただし、"SavedElement" (そのバッキング フィールド) は、インスタンスの作成時に指定されたオブジェクトへの参照です。

コンストラクターに渡された元のアイテムが変更された場合、オブジェクトが ref キーワードで渡されたかのように、SavedElement が自動的に変更を反映するように、( refキーワードを使用する場合のように)変数への参照を保存する方法はありますか? ? ( refキーワードを使用しても、その方法で参照を保存することはできません。)

意図をより明確にするために更新されました。

0 投票する
1 に答える
328 参照

c# - 別のクラスで参照型を再割り当てし、変更を元に戻す方法は?

これは、私が求めていることのかなり不自然な例です。

基本的に、メイン フォームにフルーツをメンバー変数として格納しています。それを Geneticist クラスに渡し、後で値を再割り当てできるようにしたいと考えています。

Geneticist でフルーツを入力fruit = banana;すると、Form1 フルーツではなく、Geneticist のローカル コピーがポイントされます。ref キーワードをシミュレートする方法を探しています。ここで、遺伝学者の果物を再割り当てすると、Form1 の果物も変更で更新されます。

果物のラッパーを作成して、代わりにそれを渡すことができると思いますが、それは少しハックのようです。またEngineer、メインフォームが値を再割り当てできるようにメソッドにイベントを発生させることもできますが、プログラムの多くの部分でそれを行う必要があるのも少し面倒です。

また、refGeneticist のコンストラクターではなく、後で変更するため、キーワードを使用できません。

読んでくれてありがとう!

0 投票する
1 に答える
1330 参照

wcf - WCFでrefを使用するにはどうすればよいですか?

WCF で ref を使用してデータを返すことはできませんか?

これは私のWCFファイルです。

public myDataset SearchInfo(string accountName, string accountId, ref int totalRecords)

totalRecords はゼロ以外の数値ですが、常に0になります。myDataset と totalRecords の両方を取得する必要があります。どのように試せばよいですか?私はWCFが初めてです。

前もって感謝します。

アップデート :

それはうまくいきます。私の悪い!!!

0 投票する
4 に答える
11748 参照

c++ - C++ の「ref」キーワードと「sealed」キーワードは何ですか?

未知の 2 つの「キーワード」を使用する (おそらく) C++ コードを見たことがあります (キーワードを想定していますが、コンテキストがないため、それらは単純な#defineものである可能性があります)。

また、少なくとも私が持っているドラフトでは C++11 標準には表示されないようですが、それはかなり遅いドラフトであるため、土壇場で標準にドロップされるとは想像できません。refとですsealed

私が見つけたコードは次のようなものでした:

これらのキーワードが何であるか、またそれらが何を達成することを意図しているか知っている人はいますか?

0 投票する
1 に答える
3329 参照

c++-cli - C++/CLI がパラメータなしで Interop ラッパー メソッドを呼び出す

パラメータを介して詳細を返すいくつかのアンマネージ DLL 呼び出しへの相互運用ラッパーがあります。関数は次のように表示されます。

したがって、メソッドが次のように宣言されていると仮定します。

C++/CLI コード内からこのメソッドを呼び出すにはどうすればよいですか? 私はこのような参照メソッドを簡単に呼び出す方法を知っています:

私は少し読書をしていて、私はそれができないことを読んでいますか?信じられません...おそらくこれを克服したり回避したりすることは不可能ではありませんが、冗談ですよね? それは本当に本当ですか?

ありがとうございました...