0

プロジェクトの [プロパティ] の下の [設定] ページに追加したユーザー設定があります。

ここに画像の説明を入力

私がやりたいことは、デフォルト値を、ユーザーの MyDocuments フォルダーのサブディレクトリを指す式に設定することです。

String.Format("{0}\XML Cache", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))

この設定により、XML である app.config ファイルにエントリが書き込まれることを理解しています。この値を文字列ではなく式としてフラグを立てる方法はありますか? リフレクションを使用して文字列を式に変換することは避けたいと思います。

4

1 に答える 1

0

これが私の提案です:

Public Function GetCacheBaseDirectory() As String
    Dim cacheBaseLocation As String = My.Settings("XMLCacheDir")
    If cacheBaseLocation.StartsWith("#") Then ' Hm, it is a SpecialFolder
        Dim specialName As String = cacheBaseLocation.Substring(1)

        cacheBaseLocation = System.Enum.Parse(GetType(Environment.SpecialFolder), specialName)
    End If

    Return cacheBaseLocation
End Function

この場合、次XMLCacheDirの値を使用して設定を構成します#MyDocuments

上記のスニペットは、設定値が で始まるかどうかを確認し#ます。はいの場合、設定が列挙名を指していると想定し、Environment.SpecialFolder上で投稿したのと同じ方法でディレクトリを返します(を使用Environment.GetFolderPath)。

于 2013-05-16T20:07:39.357 に答える