Прямой доступ к полному строковому представлению объекта - PullRequest
1 голос
/ 23 января 2012

Я пытаюсь записать содержимое объекта в текстовый файл. Если я сделаю debug.print самого объекта в ближайшем окне, он напечатает все значения свойств объекта:

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

Однако я не могу получить доступ к этому как к строке в коде из-за несоответствия типов. Я предполагал, что смогу получить эту информацию, используя метод .ToString, но все, что возвращает, - это описание объекта без каких-либо свойств или значений:

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

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 23 января 2012

.ToString - это функция базового объекта (см. http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx). Debug.Write - функция, которая может выполнять итерацию, хотя свойства записывают значения.

Как сказал Стю, вы можете сделать это самостоятельноusing Reflection.

Вы также можете добавить / изменить прослушиватели трассировки, чтобы записать информацию, где еще.

1 голос
/ 23 января 2012

Debug.Print перечисляет все свойства для вас. Это то, что вы ищете? Если это так, вам придется изучить все свойства с помощью отражения.

...