私は次のクラスを持っています:
public abstract class Navigator<T> where T : Navigator.Route
{
public class Route
{
}
}
public class P2PNavigator : Navigator<P2PNavigator.Route>
{
public class Route : Navigator.Route
{
}
}
コンパイル中に 2 つのエラーが発生します。
一貫性のないアクセシビリティ: 制約タイプ 'Navigator.Route' は Navigator<T>' よりアクセスしにくい
一貫性のないアクセシビリティ: 基本クラス 'Navigator.Route' はクラス 'P2PNavigator.Route' よりもアクセスしにくい
すべてにpublic
アクセシビリティがあります。この作業を行うために何が欠けていますか? 最終的にはすべて名前空間レベルのクラスにすることができると思いますが、入れ子にすることをお勧めします。
編集:回答のおかげで、問題の根本的な原因は部分クラスが適切に定義されていないことであることがわかりました。
public partial abstract class Navigator<T> where T : Navigator.Route
{
}
partial class Navigator // Different to Navigator<T> and implicitly internal.
{
public class Route
{
}
}