Vb.net 直接访问对象的完整字符串表示形式
我正在尝试将对象的内容记录到文本文件中。如果我在即时窗口中对对象本身执行Vb.net 直接访问对象的完整字符串表示形式,vb.net,smo,Vb.net,Smo,我正在尝试将对象的内容记录到文本文件中。如果我在即时窗口中对对象本身执行debug.print,它将打印对象属性的所有值: ?mDb.DatabaseOptions {Microsoft.SqlServer.Management.Smo.DatabaseOptions} AnsiNullDefault: False ... UserData: Nothing 但是,由于类型不匹配,我似乎无法在代码中将其作为字符串访问。我假设我可以使用.ToString方法获取此信息,但
debug.print
,它将打印对象属性的所有值:
?mDb.DatabaseOptions
{Microsoft.SqlServer.Management.Smo.DatabaseOptions}
AnsiNullDefault: False
...
UserData: Nothing
但是,由于类型不匹配,我似乎无法在代码中将其作为字符串访问。我假设我可以使用.ToString
方法获取此信息,但返回的只是没有任何属性或值的对象描述:
?mDb.DatabaseOptions.ToString
"Microsoft.SqlServer.Management.Smo.DatabaseOptions"
我缺少什么?Debug.Print为您枚举所有属性。这就是你要找的吗?如果是这样,则必须通过反射检查所有属性。。ToString是基础对象上的函数(请参阅)。Write是一个函数,它可以通过编写值的属性进行迭代 正如斯图所说,你可以自己用反射来做
您还可以添加/更改跟踪侦听器,以便在其他位置写出信息。听起来我需要使用反射。我在实际执行时遇到了一些问题,因此我发布了一个后续问题: