1

我不明白 和 之间的get_Offset区别Offset

MSDN 关于 NamedRange.get_Offset状态

此 API 支持 Visual Studio 基础结构,不打算直接从您的代码中使用。使用 Offset 属性而不是此方法。

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

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

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

他们有什么区别?

4

3 回答 3

3
get_Something 

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

例如,如果您有财产

public string Name {get;set;}

编译后你会发现一个

get_Nameset_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 回答