UfcppSample icon indicating copy to clipboard operation
UfcppSample copied to clipboard

partial property

Open ufcpp opened this issue 1 year ago • 0 comments
trafficstars

書くのは

https://ufcpp.net/study/csharp/oo_class.html#contextual-partial-keyword か https://ufcpp.net/study/csharp/oo_class.html#extended_partial_method の直後かな。

partial class A
{
    public partial int X { get; }
}
partial class A
{
    public partial int X => 0;
}

多分一番うれしいのは GeneratedRegex

partial class A
{
    [GeneratedRegex(@"\d+")]
    public static partial Regex X { get; }
}

自動実装と宣言の区別付かない問題

partial class A
{
    public partial int X { get; } // partial がついてるということはこれは宣言。

    public int Y { get; } // これは自動実装。
}

partial class A
{
    public partial int X { get; } // partial で自動実装はできないので、こっちも宣言。「実装がない」エラーになる。
}

この問題は元から:

interface IA
{
    int X { get; } // これは宣言。
}

class A : IA
{
    public int X { get; } // これは get-only プロパティ(自動実装)。フィールドが自動的にできる。
}

event も。

インターフェイスが元からなのもあるし、雑記ページでも新設? 少なくとも https://ufcpp.net/study/csharp/oo_class.html#partial に書くのははばかられる。

ufcpp avatar Jul 14 '24 02:07 ufcpp