nuitsjp / KAMISHIBAI

KAMISHIBAI is a navigation library for WPF that supports MVVM pattern on Generic Host.
MIT License
31 stars 6 forks source link

プライマリコンストラクタを利用したクラスにOpen~属性を設定すると正常にコードが生成されない #23

Closed Freeesia closed 10 months ago

Freeesia commented 10 months ago

C#12 で追加された機能のクラスのプライマリコンストラクタを利用すると引数が無視され正常なコードを生成できないようです。

プライマリコンストラクタを利用するコード

[OpenDialog]
partial class ViewModel([Inject] IOptions<Options> options)
{
    private readonly Options options = options.Value;
}

生成されるコード

public Task<bool> OpenInstallLangDialogAsync(object? owner = null, OpenDialogOptions? options = null)
{
    return OpenDialogAsync(
        // ↓ 必要な引数が存在しないエラーが発生する
        new Namespace.ViewModel(

        ), 
        owner,
        options);
}

こちらで対応も可能だと思いますので、お忙しいようであれば、こちらからPR作成させていただこうと思います。

nuitsjp commented 10 months ago

ありがとうございます。 ちょっと今パツパツで私から対応が困難ですので、PRいただけると大変助かります。 その際、サンプルのプロジェクト内に、動作確認可能なバリエーションを含めていただけると助かります。