Я разрабатываю API для сторонних пользователей и застрял:
API будет выглядеть следующим образом:
public interface IFoo
{
Init(IComponent component);
...
}
Интерфейс должен быть реализован третьей стороной, но метод Init будет вызван нами. Моя проблема в том, что я передам им экземпляр IComponent, который они могут использовать в методе Init, но их не следует использовать где-либо еще.
Возможно ли выполнить такую проверку во время выполнения, чтобы они не сохранили ее, или организовать каким-либо образом такое поведение, которое сделает невозможным использование этого экземпляра IComponent из метода Init?