メソッドからオブジェクトへのconst参照を返すにはどうすればよいですか?

gaazkam
public Item getItem(ulong itemId)
{
    Item item = items[itemId]
    return item;
}

ここで問題は次のとおりです。の呼び出し先はgetItemitem保持しいる情報を取得できる必要がありますしかし、それを変更しないでください。

申し訳ありませんが、私はC#よりもC ++の方がよく知っています...私が達成しようとしていることを明確にするために、C ++に戻って小さなことをしなければならないのではないかと心配しています...この状況でのC ++の場合:

const Item& getItem(unsigned long itemId)
{
    const Item& item = items[itemId];
    return item;
}

非常にうまくいきました-今でgetItemは、電話をかけた人は誰でもゲッターを呼び出すことができますitemが、セッターは呼び出すことができません。

C#で同様の結果を達成する必要があります...それは可能ですか?

マーク・ラフルール

インターフェイスを使用して、インターフェイスを実装するクラスのセッターをサポートしながら、ゲッターのみを表示できます。インターフェイスを返す限り、すべてのコンシューマーは、インターフェイスが定義するゲッターのみに制限されます。

public interface IItem {
    string SomeProperty { get; }
}

public class Item : IItem {
    public string SomeProperty { get; set; }
}

public class ItemHandler {
    private Item _item = new Item();

    public IItem getItem() {
        _item.SomeProperty = "A Value";
        return _item;
    }
}

class Program {
    static void Main(string[] args) {
        var itemHandler = new ItemHandler();
        var item = itemHandler.getItem();

        // You can read the property
        Console.WriteLine(item.SomeProperty);

        // You can't write to the property
        //item.SomeProperty = "A New Value";
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Selfへの参照を返すメソッドを含むトレイトオブジェクトを使用するにはどうすればよいですか?

分類Dev

メソッドを保持しながら、新しいオブジェクトから値を返すにはどうすればよいですか?

分類Dev

rubyクラスの静的メソッドからオブジェクトメソッドを呼び出すにはどうすればよいですか?

分類Dev

メソッドの親オブジェクトを取得するにはどうすればよいですか?

分類Dev

同じクラスのmainメソッドの外部にあるオブジェクトを参照するにはどうすればよいですか?

分類Dev

クラスメソッドで現在のオブジェクト参照を取得するにはどうすればよいですか?

分類Dev

戻り値の型voidのメソッドに対して空のJSONオブジェクトを返すにはどうすればよいですか?

分類Dev

そのクラスのオブジェクトへのオブジェクトとメソッド参照を提供するにはどうすればよいですか?

分類Dev

Javascriptでこのオブジェクトのメソッドを宣言するときに、オブジェクトに設定されたメソッドを正しく参照するにはどうすればよいですか?

分類Dev

Javaでオブジェクトメソッドを使用するにはどうすればよいですか?

分類Dev

フォーマット文字列内からオブジェクトのメソッドを呼び出すにはどうすればよいですか?(Python)

分類Dev

kotlinのコンパニオンオブジェクトから親メソッドを呼び出すにはどうすればよいですか?

分類Dev

Python C APIを使用してオブジェクトのメソッドから定数にアクセスするにはどうすればよいですか?

分類Dev

メソッドがいくつかの異なるオブジェクトの1つを返し、そのオブジェクトから値を取得するにはどうすればよいですか?

分類Dev

Javaのメソッドから呼び出されたオブジェクトを使用するにはどうすればよいですか?

分類Dev

FreeMarkerテンプレートからオブジェクトのJavaメソッドを呼び出すにはどうすればよいですか?

分類Dev

ネストされたオブジェクトのメソッドから使用される場合、「this」キーワードが現在のインスタンスを参照するようにするにはどうすればよいですか?

分類Dev

.findメソッドでネストされたオブジェクトを参照するにはどうすればよいですか?

分類Dev

JavaからScalaオブジェクトのメソッドを反射的に呼び出すにはどうすればよいですか?

分類Dev

別のスレッドに設定されているオブジェクトへの参照を保存するにはどうすればよいですか?

分類Dev

独自のメソッドの1つからオブジェクトを解放するにはどうすればよいですか?

分類Dev

オブジェクトタイププロパティからメソッドのTを設定するにはどうすればよいですか?

分類Dev

arrayList内のさまざまなオブジェクトからメソッドを呼び出すにはどうすればよいですか?

分類Dev

オブジェクト属性への参照を取得するにはどうすればよいですか?

分類Dev

「this」が呼び出し元のオブジェクトによってすでに取得されている場合、静的メソッド内から包含クラスを参照するにはどうすればよいですか?

分類Dev

バケットからオブジェクトを削除するメソッドを追加するにはどうすればよいですか?

分類Dev

Optionオブジェクトを返すメソッドにアクセスするにはどうすればよいですか?

分類Dev

ADODBレコードセットオブジェクトへの参照カウントを取得するにはどうすればよいですか?

分類Dev

オブジェクトに特定のメソッドがあるかどうかを確認するにはどうすればよいですか?

Related 関連記事

  1. 1

    Selfへの参照を返すメソッドを含むトレイトオブジェクトを使用するにはどうすればよいですか?

  2. 2

    メソッドを保持しながら、新しいオブジェクトから値を返すにはどうすればよいですか?

  3. 3

    rubyクラスの静的メソッドからオブジェクトメソッドを呼び出すにはどうすればよいですか?

  4. 4

    メソッドの親オブジェクトを取得するにはどうすればよいですか?

  5. 5

    同じクラスのmainメソッドの外部にあるオブジェクトを参照するにはどうすればよいですか?

  6. 6

    クラスメソッドで現在のオブジェクト参照を取得するにはどうすればよいですか?

  7. 7

    戻り値の型voidのメソッドに対して空のJSONオブジェクトを返すにはどうすればよいですか?

  8. 8

    そのクラスのオブジェクトへのオブジェクトとメソッド参照を提供するにはどうすればよいですか?

  9. 9

    Javascriptでこのオブジェクトのメソッドを宣言するときに、オブジェクトに設定されたメソッドを正しく参照するにはどうすればよいですか?

  10. 10

    Javaでオブジェクトメソッドを使用するにはどうすればよいですか?

  11. 11

    フォーマット文字列内からオブジェクトのメソッドを呼び出すにはどうすればよいですか?(Python)

  12. 12

    kotlinのコンパニオンオブジェクトから親メソッドを呼び出すにはどうすればよいですか?

  13. 13

    Python C APIを使用してオブジェクトのメソッドから定数にアクセスするにはどうすればよいですか?

  14. 14

    メソッドがいくつかの異なるオブジェクトの1つを返し、そのオブジェクトから値を取得するにはどうすればよいですか?

  15. 15

    Javaのメソッドから呼び出されたオブジェクトを使用するにはどうすればよいですか?

  16. 16

    FreeMarkerテンプレートからオブジェクトのJavaメソッドを呼び出すにはどうすればよいですか?

  17. 17

    ネストされたオブジェクトのメソッドから使用される場合、「this」キーワードが現在のインスタンスを参照するようにするにはどうすればよいですか?

  18. 18

    .findメソッドでネストされたオブジェクトを参照するにはどうすればよいですか?

  19. 19

    JavaからScalaオブジェクトのメソッドを反射的に呼び出すにはどうすればよいですか?

  20. 20

    別のスレッドに設定されているオブジェクトへの参照を保存するにはどうすればよいですか?

  21. 21

    独自のメソッドの1つからオブジェクトを解放するにはどうすればよいですか?

  22. 22

    オブジェクトタイププロパティからメソッドのTを設定するにはどうすればよいですか?

  23. 23

    arrayList内のさまざまなオブジェクトからメソッドを呼び出すにはどうすればよいですか?

  24. 24

    オブジェクト属性への参照を取得するにはどうすればよいですか?

  25. 25

    「this」が呼び出し元のオブジェクトによってすでに取得されている場合、静的メソッド内から包含クラスを参照するにはどうすればよいですか?

  26. 26

    バケットからオブジェクトを削除するメソッドを追加するにはどうすればよいですか?

  27. 27

    Optionオブジェクトを返すメソッドにアクセスするにはどうすればよいですか?

  28. 28

    ADODBレコードセットオブジェクトへの参照カウントを取得するにはどうすればよいですか?

  29. 29

    オブジェクトに特定のメソッドがあるかどうかを確認するにはどうすればよいですか?

ホットタグ

アーカイブ