Я определяю geenral API, который будет иметь ряд более конкретных дериваций, и хочу знать, достаточно ли мощны интерфейсы C # для моделирования этого, и если да, то как, а если нет, то как еще я мог бы моделировать это.
Чтобы проиллюстрировать, что я пытаюсь сделать, представьте API аутентификации с общим интерфейсом с функцией Authenticate, которая принимает абстрактный AuthenticationToken. Я хочу затем создать более конкретные формы этого интерфейса, как показано ..
abstract class AuthenticationToken
{
}
interface IAthentication
{
bool Authenticate(string name, AuthenticationToken token);
}
class DoorKey : AuthenticationToken
{
}
interface IDoorAthentication : IAthentication
{
bool Authenticate(string name, DoorKey token);
}
class DoorUnlocker : IDoorAthentication
{
public bool Authenticate(string name, DoorKey token)
{
}
}
Мое намерение состоит в том, чтобы производный интерфейс ограничивался соответствием форме высокого уровня, но C # не интерпретирует это.
С наилучшими пожеланиями
Помоги мне, Джон Скитс ... ты моя единственная надежда.
(Извините ... мои звездные войны BluRays прибыли!)