2016-09-28 4 views
0

私たちのソースファイルの1つは、このような性質の例は、数千から構成されていますVB.netプロパティ用の短いフォーム?

Friend Property ZipCode() As String 
    Get 
     Return GetDtaString(R, fldZipCode) 
    End Get 
    Set(ByVal Value As String) 
     SetDtaString(R, fldZipCode, Value) 
    End Set 
End Property 

Rは、テキストファイルの行で、fldZipCode列です。

AutoPropertiesを使用すると、プロパティがバッキング値にマップされたときにコンパクトなget/set形式を使用できますが、ここでは該当しません。私はコロンとそれ以外のものはいろいろ組み合わせて試しましたが、VB.netはこのすべてを別々の行にすることを要求していますか?

誰でもこの構文を短縮する方法を知っていますか?

+5

これは単純なプロパティではないので、それはおそらく簡単なものです。 – LarsTech

+0

これは単純なプロパティではないので、私はコード内の2つのメソッドと見なしたいので、データが格納されているプロパティではなく、プロセスであることがわかります。 – ps2goat

+1

@ ps2goat - これはプロパティとメソッドの間の分割になると思いますが、この場合myObject.SzipCode( "12345") - YMMVよりはるかに良いmyObject.ZipCode = "12345"と言いたいと思います! –

答えて

0

少し短くすることができます。プロパティの名前セットのValueパラメータ

あなたの新しいプロパティ

Friend Property ZipCode As String 
    Get 
     Return GetDtaString(R, fldZipCode) 
    End Get 
    Set(Value As String) 
     SetDtaString(R, fldZipCode, Value) 
    End Set 
End Property 

BONUS上の暗黙のByVal

  • 除去した後()

    1. 除去::(注)あなたはC#で作業していました。

      internal String ZipCode { 
          get { return GetDtaString(R, fldZipCode); } 
          set { SetDtaString(R, fldZipCode, value); } } 
      

      と、それは、C#であること、これはすべて1行に置くことができ、それは非常に素晴らしい見ていない可能性があります...

      internal String ZipCode {get { return GetDtaString(R, fldZipCode); } set { SetDtaString(R, fldZipCode, value); } } 
      

      は、より多くの情報のためVB.Net Language Specificationを見てみましょう。

  • +0

    それはちょうど私が尋ねた理由です、私はそこにC *でそれを行う方法があることを知っていましたので、私はVBで同じことをする方法を見落としていたのだろうかと思っていました –

    関連する問題