mCallByName:函数在运行时用来获取属性,设置属性或调用方法。
例子:
Imports Microsoft.VisualBasic.CallType'该方法所在的运行库
Sub TestCallByName1()
' 设置对象的属性值
CallByName(
TextBox1, "Text", CallType.Set, "New Text")
' 获取对象的属性值
MsgBox(CallByName(
TextBox1, "Text", CallType.Get)
)
' 调用对象的方法
CallByName(
TextBox1, "Hide", CallType.Method)
End Sub
DirectCast:关键字引入类型转换操作。其使用方法和Ctype一样
例子:
Dim Q As Object = 2.37
Dim I As Integer = CType(Q, Integer) ' 成功,原因:只要定义了表达式与类型之间的有效转换,Ctype就会成功。
Dim J As Integer = DirectCast(
Q, Integer)
'失败,原因:DirectCast 则要求对象变量的运行时类型与指定的类型相同。如果参数类型不匹配,DirectCast 会引发 InvalidCastException 错误
如果类型匹配,DirectCast比Ctype在运行时的性能更好。
HashTable:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织,该类对内存的消耗较大。
HybridDictionary:在集合较小时,使用ListDictionary 来实现 IDictionary,然后当集合变大时,切换到HashTable。
SerializableAttribute:将被标记的对象序列化,序列化后,将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。