Visual Studio でゲッターとセッターを生成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3017

質問

「生成」とは、特定の選択された (セットの) 変数に必要なコードの自動生成を意味します。

ただし、優れた実践方法についてのより明確な説明やコメントは歓迎します。

役に立ちましたか?

解決

使用するのではなく、 Ctrl+k,バツ 単に入力することもできます prop そしてタブを2回押します

他のヒント

Visual Studio には、プライベート変数からプロパティを生成する機能もあります。

変数を右クリックすると、表示されるコンテキスト メニューで [リファクタリング] 項目をクリックします。次に、フィールドのカプセル化を選択します。これにより、変数のゲッター/セッター プロパティが作成されます。

私はこのテクニックのあまり好きではありません。なぜなら、大量のゲッター/セッターを作成する必要がある場合に使用するのが少しぎこちなく、プロパティをプライベートフィールドの直下に配置するためです。すべてのプライベート フィールドがグループ化され、この Visual Studio 機能によってクラスの書式設定が壊れてしまいます。

生成とは自動生成のことですか?それが意味しない場合は、次のようにします。

Visual Studio 2008 には、これを最も簡単に実装できます。

public PropertyType PropertyName { get; set; }

これにより、バックグラウンドで、プロパティが保存および取得される暗黙のインスタンス変数が作成されます。

ただし、プロパティにさらにロジックを追加したい場合は、そのためのインスタンス変数が必要になります。

private PropertyType _property;

public PropertyType PropertyName
{
    get
    {
        //logic here 
        return _property;
    }
    set
    {
        //logic here
        _property = value;
    }
 }

Visual Studio の以前のバージョンでは、常にこの手書きのメソッドも使用されていました。

Visual Studio 2013 Professionalを使用しています。

  • インスタンス変数の行にカーソルを置きます。

    enter image description here

  • 結合キーを押します Ctrl+R, Ctrl+E または マウスの右ボタンをクリックし、コンテキスト メニューを選択します Refactor \ Encapsulate Field... 次に、 を押します OK.

    enter image description here

  • Preview Reference Changes - Encapsulate Field ダイアログ、ボタンを押してください Apply.

    enter image description here

  • これが結果です:

    enter image description here



あなたも プロパティを選択するためにカーソルを置きます, 、メニューを使用します 編集 \ リファクタリング \ フィールドのカプセル化...

そして

private int productID;

public int ProductID
{
    get { return productID; }
    set { productID = value; }
}

になる

public int ProductID { get; set; }

「propfull」を使用してヒットすることもできます タブ 2回実行すると、getとsetを持つ変数とプロパティが生成されます。

Visual Studio 2005 以降を使用している場合は、挿入スニペット コマンドを使用してセッター/ゲッターを非常に高速に作成できます。コードを右クリックし、「スニペットの挿入」をクリックします (Ctrl+k,バツ) リストから「prop」を選択します。お役に立てれば。

ReSharper を使用している場合は、ReSharper メニュー --> コード --> 生成 ... に移動します。(またはヒット オルタナティブ+インス 周囲のクラス内で)そうすれば、ゲッターやセッターを生成するための考えられるすべてのオプションが得られます :-)

使用 propfull キーワード。
プロパティと変数を生成します

これが太陽よりも古いことはわかっていますが、このようにするのが好きだったので、これを答えとして投稿することにしました。

私がやったのは、追加のみを行う独自のスニペットを作成することでした {get; set;}. 。見つけたので作りました prop > tab 不格好になること。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
        <Title>get set</Title>
         <Shortcut>get</Shortcut>
    </Header>
    <Snippet>
        <Code Language="CSharp">
            <![CDATA[{get; set;}]]>
        </Code>
    </Snippet>
  </CodeSnippet>

これにより、PropType と PropName を手動で入力し、次のように入力します。 get > tab そしてゲットセットを追加します。魔法のようなものではありませんが、私はアクセス修飾子を最初に入力することが多いので、名前と入力を終了するほうがよいでしょう。

Visual Studio Community Edition 2015 では、必要なフィールドをすべて選択して、 ctrl + .プロパティを自動的に生成します。フィールドの代わりにプロパティを使用するかどうかを選択する必要があります。

「prop」スニペットと自動プロパティに加えて、既存のフィールドを選択してプロパティ経由で公開できるリファクタリング オプションがあります。また、「prop」実装が気に入らない場合は、独自のスニペットを作成できます。さらに、 resharper のようなサードパーティのリファクタリング ツールを使用すると、さらに多くの機能が提供され、より高度なスニペットの作成が容易になります。余裕があればResharperをお勧めします。

http://msdn.microsoft.com/en-us/library/f7d3wz0k(VS.80).aspx http://www.jetbrains.com/

私のマシンには Visual Studio がもうインストールされていません (Linux を使用しています) が、クラス ビルダーにアクセスできるウィザードがメニューの 1 つの中のどこかに隠されていたことは覚えています。

このウィザードを使用すると、メソッドや属性を含むすべてのクラスの詳細を定義できます。私の記憶が確かであれば、VS にセッターとゲッターを自動的に作成するように依頼できるオプションがありました。

かなり漠然としていると思いますが、調べてみると見つかるかもしれません。

最初に拡張機能を取得するだけです(ctrl+shift+x)を押してゲッターセッターをインストールします。この後、変数を選択し、右クリックしてコマンドパレットに移動します...そして型ゲッター...これをクリックすると、get メソッドと set メソッドを生成することが提案されます...

enter image description hereVisual Studioツールを代表して、オンラインツールを使用してC#プロパティを簡単に生成できます。 C# プロパティジェネレーター。

シンプルに押すだけです オルタナティブ+インス Android Studioでは変数を宣言した後、コード生成時にゲッターとセッターを取得します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top