JA CSharp Operators Partial - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
演算子のオーバーロードと部分型
ネイティブ型は、許可された演算子をオーバーロードし、変換を宣言し、比較を指定できます。このような操作には明確な意味がなければなりません。 partial は型宣言を 1 つのコンパイルに結合します。一部の部分はスタンドアロン プロジェクトとして自動的に実行されません。
簡単な例 (Example.cs)
この例を Example.cs として別に保存し、このページの他の例とは独立して実行してください。
Example.cs:
// PROJECT-EXAMPLE
var sum = new Count(2) + new Count(3);
System.Console.WriteLine(sum.Value);
readonly record struct Count(int Value)
{
public static Count operator +(Count a, Count b) => new(a.Value + b.Value);
}
結果:
5
readonly record struct Amount(int Value)
{
public static Amount operator +(Amount left, Amount right) => new(left.Value + right.Value);
}
Amount total = new Amount(2) + new Amount(3);
UO.Print(total.Value.ToString());
partial class Counter
{
public int Value { get; private set; }
}
partial class Counter
{
public void Increment() => Value++;
}
var counter = new Counter();
counter.Increment();
UO.Print(counter.Value.ToString());
公式ドキュメント: 演算子のオーバーロードと部分型 - Microsoft Learn。