如何使用 StorageFolder 变量类型创建一个新对象?

How to create a new object with StorageFolder variable type?

所以我有一个错误"Object reference not set to an instance of an object"。

这是发生错误的区域:

private async void Savebutton_click(object sender, RoutedEventArgs e)
{
    string recipename = recipenametextbox.Text.ToString();
    string recipemethod = methodtextbox.Text.ToString();
    string recipeingredients = ingredientstextbox.Text.ToString();

    //File names.
    string recipenamefilename = recipename + "title.txt";
    string recipemethodfilename = recipename + "method.txt";
    string recipeingredientsfilename = recipename + "ingredients.txt";

    await currentrecipe.folder.CreateFolderAsync(recipename);

    await currentrecipe.folder.CreateFileAsync(recipenamefilename);
    File.WriteAllText(recipenamefilename, recipename);

    await currentrecipe.folder.CreateFileAsync(recipemethodfilename);
    File.WriteAllText(recipemethodfilename, recipemethod);

    await currentrecipe.folder.CreateFileAsync(recipeingredientsfilename);
    File.WriteAllText(recipeingredientsfilename, recipeingredients);

    //Clear currentrecipe ready for next recipe.
    currentrecipe.folder = null;
    currentrecipe.Picturefile = null;
    currentrecipe.recipebackgroundcolourenabled = false;
}

我假设这与初始化 currentrecipe 变量的 StorageFolder 成员有关(currentrecipe 是一个 recipie 变量)。此外,我不认为它是 NullReferanceException 问题的重复,仅仅是因为我知道 NullReferanceException 是什么,并且我知道如何以某种方式修复它,但我不知道如何为此修复它特定的 NullReferanceException - 用于存储文件夹。错误也发生在 await currentrecipe.folder.CreateFolderAsync(recipename) 处。

这是我的收件人 class:

public sealed class recipie
{
    public StorageFile Picturefile;
    public StorageFolder folder;
    public bool recipebackgroundcolourenabled;
}

如你所说错误发生在

await currentrecipe.folder.CreateFolderAsync(recipename)

我首先检查 currentrecipefolder 是否都已初始化:

if (currentrecipe != null)
{
    if (currentrecipe.folder != null)
    {
        await currentrecipe.folder.CreateFolderAsync(recipename)
    }
    else
    {
        Console.Write("currentrecipe.folder is null")
    }
}   
else
{
    Console.Write("currentrecipe is null")
}

至少从那个开始,否则可能是 CreateFolderAsync returns null。