C# クラスは基本クラスからカスタム演算子を継承しますか? 私は次のコードを試しています:
class Person
{
public int Age;
public static Person operator ++(Person p)
{
p.Age++;
return p;
}
}
class Agent : Person { }
static void Main(string[] args)
{
Person p = new Person { Age = 23 };
Console.WriteLine ( "Before increment : {0}" , p.Age );
p++;
Console.WriteLine("After increment : {0}", p.Age);
Agent agent = new Agent { Age = 25 };
Console.WriteLine("Before increment : {0}", agent.Age);
agent++;
Console.WriteLine("After increment : {0}", agent.Age);
}
コンパイラは、Person から Agent に明示的に変換することはできないと私に言いました。
私は試した :
Agent agent = new Agent();
Person person = agent ++
ただし、同じコンパイラ メッセージが表示されます。