get_Offset和Offset之间的区别?

我不明白get_OffsetOffset之间的区别:

MSDN在NamedRange.get_Offset状态

此API支持Visual Studio基础结构,不能直接在您的代码中使用。 使用“偏移”属性而不是此方法。

那究竟是什么意思? 对于直接在代码中广泛使用的get_Value方法也有类似的说法 。

以下面的例子对我来说也是一样的。

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

他们有什么不同?

 get_Something 

是由CLR为属性get访问者而生成的内部函数。

例如,如果你有一个属性

 public string Name {get;set;} 

编译后你会发现一个

get_Nameset_Name 方法 ,导致属性是没有什么,然后在单个类域中的set-variable / get-variable概念的简单包装

作为一种内部方法,使用它不是一个好习惯,最好使用用户定义的清晰的property访问。

理论上,get_Offset可以在不发出警告的情况下进行更改或删除。 如果文档说使用另一种等效的方法,你应该这样做。 get_Value只是为Visual Studio 2005标记的,所以你可以自由地使用它

不同的是正如文件所述。 您应该使用Offset属性,而不是get_Offset方法。

这个方法是公开的,因为他们需要这个方法来访问其他类。 如果他们find更好的方法来使用这个类,那么这个方法可能会在以后的版本中消失,甚至不会被提及为一个突破性的改变,因为文档中明确指出你不应该使用它。