直接访问对象的完整字符串表示

时间:2012-01-23 14:32:00

标签: vb.net smo

我正在尝试将对象的内容记录到文本文件中。如果我在即时窗口中对对象本身进行debug.print,它会打印对象属性的所有值:

?mDb.DatabaseOptions
{Microsoft.SqlServer.Management.Smo.DatabaseOptions}
    AnsiNullDefault: False
    ...
    UserData: Nothing

但是,由于类型不匹配,我似乎无法在代码中将其作为字符串进行访问。我假设我可以使用.ToString方法获取此信息,但所有返回的是没有属性或值的对象描述:

?mDb.DatabaseOptions.ToString
"Microsoft.SqlServer.Management.Smo.DatabaseOptions"

我错过了什么?

2 个答案:

答案 0 :(得分:1)

Debug.Print为您枚举所有属性。那是你在找什么?如果是这样,您将必须通过反射检查所有属性。

答案 1 :(得分:1)

.ToString是基础对象上的一个函数(参见http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx)。 Debug.Write是一个可以迭代写入值的属性的函数。

Stu说你可以自己使用Reflection。

您还可以添加/更改跟踪侦听器以写出其他信息。