1

get_Offsetとの違いがわかりませんOffset

NamedRange.get_Offsetの状態に関するMSDN

このAPIはVisualStudioインフラストラクチャをサポートしており、コードから直接使用するためのものではありません。このメソッドの代わりにOffsetプロパティを使用してください。

それは正確にはどういう意味ですか?コードで直接広く使用されているget_Valueメソッドについても同様です。

私にとって同じことをする次の例を見てください。

myRange.get_Offset(1,0).Value = "Foo";
myRange.Offset[1,0].Value = "Foo";

それらの違いは何ですか?

4

3 に答える 3

3
get_Something 

getプロパティアクセサのためにCLRによって生成される内部関数です。

たとえば、プロパティがある場合

public string Name {get;set;}

コンパイル後、

get_Nameおよびset_Name メソッドは、プロパティが単一のクラスドメイン内のset-variable/get-variableの概念に対する単純なラッパーであるためです。

内部メソッドであるため、それを利用することはお勧めできません。ユーザー定義の明確なpropertyアクセスを使用することをお勧めします。

于 2012-05-04T10:36:15.733 に答える
1

get_Offsetは、理論的には警告なしに変更または削除できます。ドキュメントに別の同等の方法を使用するように記載されている場合は、それを実行する必要があります。get_Valueは、Visual Studio 2005でのみそのようにマークされているため、自由に使用できます

于 2012-05-04T10:39:46.653 に答える
0

違いは、ドキュメントに記載されているとおりです。メソッドOffsetではなく、プロパティを使用する必要があります。get_Offset

このメソッドは、他のクラスがそのようにアクセスできる必要があるため、公開されています。このメソッドは、クラスを使用するためのより良い方法が見つかった場合、将来のバージョンでなくなる可能性があります。ドキュメントには使用すべきではないと明確に記載されているため、重大な変更としては言及されません。

于 2012-05-04T10:36:02.643 に答える