2012-01-23 10 views
1

オブジェクトの内容をテキストファイルに記録しようとしています。私はすぐにウィンドウ内のオブジェクト自体のdebug.printをすれば、それは、オブジェクトのプロパティの値をすべて印刷します。しかしオブジェクトのフルストリング表現への直接アクセス

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

を、私は原因にコード内の文字列としてこれにアクセスするように見えることはできません型の不一致。私は.ToStringメソッドを使用してこの情報を得ることができると仮定、それが返すすべてのプロパティまたは値のどれを持つオブジェクトの説明です:

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

私は何をしないのですか?

+0

反射を使用する必要があるような音がします。私は実際にそれを実装するいくつかの問題を抱えているので、私はフォローアップの質問を投稿しました:[VB.NetでDebug.Printを模倣するためにリフレクションを使う](http://stackoverflow.com/q/8973859/154439) – mwolfe02

答えて

1

.ToStringは、ベースオブジェクト上の関数です(http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx参照)。 Debug.Writeは、値を書き込むプロパティを反復処理できる関数です。

Stuが言ったように、あなたはReflectionを使ってこれを自分で行うことができます。

また、情報を書き込むためにトレースリスナーを追加/変更することもできます。

1

Debug.Printは、すべてのプロパティを列挙します。それはあなたが探しているものですか?もしそうなら、あなたはリフレクションを通してすべてのプロパティを調べなければなりません。

関連する問題