【发布时间】:2013-07-20 21:39:59
【问题描述】:
这两种私有变量的实现方式有什么区别?它们在功能上似乎与我相同,编译器似乎并不在意。
Private myTempDir As String = TempAppDir & "\" & Name
Private Property MyTempDir As String = TempAppDir & "\" & Name
【问题讨论】:
这两种私有变量的实现方式有什么区别?它们在功能上似乎与我相同,编译器似乎并不在意。
Private myTempDir As String = TempAppDir & "\" & Name
Private Property MyTempDir As String = TempAppDir & "\" & Name
【问题讨论】:
第一行包含Field/Variable,第二行包含Auto-Implemented Property,正如您在MSDN documentation 中看到的那样,它只是传统Property 的“快速版本”。
您可以在相应的MSDN definition of Properties 和this one 等链接中看到Properties 和Fields 之间的优势/劣势。
你也有很多关于Auto-Implemented Properties与传统版本相比的优点/缺点的帖子:
这些链接适用于 C#,但这些想法很容易转移到 VB.NET。
最后一个链接指向另一个非常有趣的链接(也在 C# 中):Properties vs. Public Variables。
【讨论】: