Предположим, у меня есть этот интерфейс IRepository
public interface IRepository
{
#region User
IUser AddUser(String userName, String password, String email);
IUser FindUser(String identifier);
#endregion User
#region Product
IProduct AddProduct(...);
void RemoveProduct(...);
#endregion Product
}
Это очень простой до сих пор, и я могу делать такие вещи, как
IRepository MyRepository = new Repository(...);
MyRepository.AddUser(...);
MyRepository.RemoveProduct(...);
В идеале, я хочу что-то похожее на это
public interface IRepository
{
#region User
IUser User.User(String userName, String password, String email);
IUser User.Find(String identifier);
#endregion User
#region Product
IProduct Product.Add(...);
void Product.Remove(...);
#endregion Product
}
К сожалению, это не принято в C #. Я не могу добавить эти префиксы.
Я хочу использовать это вид пространства имен , чтобы написать что-то похожее на это
IRepository MyRepository = new Repository(...);
MyRepository.User.Add(...);
MyRepository.Product.Remove(...);
Я не хочу добавлять объекты User и Product в мой интерфейс, поскольку все, что мне нужно, - это способ улучшить чтение с помощью префиксов этого типа.
Есть идеи?
Спасибо