get_Offset和偏移之间的差异

本文关键字:之间 Offset get | 更新日期: 2023-09-27 18:33:05

我不明白get_OffsetOffset之间的区别:

MSDN 关于NamedRange.get_Offset状态

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

这到底是什么意思?get_Value直接在代码中广泛使用的方法也是如此。

举以下例子,这些例子对我也有同样的作用。

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

它们有什么区别?

get_Offset和偏移之间的差异

get_Something 

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

例如,如果您有属性

public string Name {get;set;}

编译后,您会发现一个

get_Nameset_Name方法,因为这些属性不是,而是单个类域中设置变量/获取变量概念的简单包装器

作为一种内部方法,使用它不是好的做法,最好使用用户定义的、清晰的property访问权限。

理论上

可以在没有警告的情况下更改或删除get_Offset。如果文档说要使用其他等效方法,您应该这样做。get_Value仅在Visual Studio 2005中以这种方式标记,因此您可以自由使用它

区别与文档所说的完全一样。应使用 Offset 属性,而不是 get_Offset 方法。

该方法只是公共的,因为他们需要它以这种方式可供其他类访问。如果他们找到更好的方法来使用该类,该方法可能会在任何未来的版本中消失,甚至不会将其作为重大更改提及,因为文档明确指出您不应该使用它。