C#に限った話ではないのですが、型の識別のためだけに空のインターフェイスを定義するのは「あり」なんでしょうか。