のアドレスを渡す:私はこのようなパブリック変数のアドレスを渡すしようとすると、パブリック変数
ML.Register("Radius", &lBeacons[i].Radius, 0.0f, 200.0f, 10.0f);
私はこのエラーを取得する:
error CS0212: You can only take the address of an unfixed expression inside of a fixed statement initializer
登録機能は、次のようになります。
public unsafe void Register(string desc, float* val, float minimum, float maximum, float stepsize)
ビーコンはリストです。 Public Radiusを持つクラスを保持します。
私はJon Skeetを召喚します!ポインタ全体の参照 - クラスと構造体のcsharpのものが彼の好きなテーマです。 –
あなたのコメントを「私はRadius(と他の人)のアドレスを将来のためにMLに保存したい」 - いいえ!それをしないでください! .NETオブジェクトは動き回ります。固定ブロック(短命でなければならない)の外側にポインタを置くことはできません。 Radiusオブジェクト(参照)をMLに渡し、Radiusオブジェクトのプロパティを更新します。 –
(私はBeaconオブジェクトを意味しました) –