Как сделать шаблонную функцию, которая ссылается на себя в c# - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу иметь контейнерный класс, который содержит объект, реализующий интерфейс T. Когда этот контейнерный объект создает свое поле, он затем сообщает внутреннему объекту, что он был создан, передавая сам себя. Однако это круговая ссылка на шаблон, и я не уверен, как сделать эту компиляцию. Ниже приведено то, что я хотел бы выполнить sh.

public interface ISerializableItem 
{
  void Created(JsonDatabaseObject<THIS CLASS SOMEHOW> item); //This is the the place I cannot figure out
}

public class JsonDatabaseObject<T> where T: SerializableItem, new()
{
  public T o;
  public static JsonDatabaseObject<T> Fetch()
  {
    JsonDatabaseObject<T> item = new JsonDatabaseObject<T>();
    item.o = new T();
    item.o.Created(this);
  }
}

Есть ли какой-нибудь синтаксис c сахара, чтобы эта идея работала?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...