MVVM ツールキットの警告MVVMTK0034

[ObservableProperty] のフィールドは直接参照しないでください。生成されたプロパティは代わりに使用する必要があります。 この警告は、開発者が誤って生成されたプロパティのバッキング フィールドを参照してその値を更新し、プロパティ変更通知が発生しない場合を回避するために存在します。 生成されるプロパティは、常に代わりに参照する必要があります。

次の例では、MVVMTK0034が生成されます。

using CommunityToolkit.Mvvm.ComponentModel;

namespace MyApp;

public partial class SampleViewModel : ObservableObject
{
    [ObservableProperty]
    private string? name;

    public void UpdateName()
    {
        name = Database.LoadUsername();
    }
}

次のようにコードを更新することで修正できます。

using CommunityToolkit.Mvvm.ComponentModel;

namespace MyApp;

public partial class SampleViewModel : ObservableObject
{
    [ObservableProperty]
    private string? name;

    public void UpdateName()
    {
        Name = Database.LoadUsername();
    }
}

その他のリソース

  • 単体テストでは、その他の例を見つけることができます。