get
{
string dirName = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string pathName;
DirectoryInfo d = new DirectoryInfo("TradeBotData");
if (!d.Exists)
{
if (d.Parent.Name.ToString() == "Plugins")
{
d.Create();
return d.FullName;
}
}
else
{
if (d.Parent.Name.ToString() == "Plugins")
{
return d.FullName;
}
else
{
Console.WriteLine("Data path Fallback!!!");
pathName = System.IO.Path.Combine(dirName, @"\TradeBotData");
System.IO.Directory.CreateDirectory(pathName);
Console.WriteLine("Created Save Folder At: {0} :", pathName);
return pathName;
}
}
}
我不太確定爲什麼會發生這種情況。我認爲所有代碼路徑都會返回一個值,因爲我有if
和else
。 如果我在代碼中插入return "";
,它只是返回「」;無限地。c#編譯器返回錯誤不是所有代碼路徑都返回一個值
請指教。
你必須返回的東西的時候'如果(d.Parent.Name.ToString()==「插件」)'失敗。 –
要擴大哈里的評論:在目錄不存在的情況下,所以你要進入第一個「if」陳述的主體;如果父母名稱不是「插件」,則不會返回任何內容。 –