using System.Collections.Generic;
public class BaseParamClass
private List<IBase<BaseParamClass>> list;
list = new List<IBase<BaseParamClass>>();
public void Register(IBase<BaseParamClass> param)
public interface IBase<T> where T : BaseParamClass
public class BaseClass : IBase<BaseParamClass>
private ListHandler listHandler;
public BaseParamClass Param { get; private set; }
public BaseClass(ListHandler listHandler)
this.listHandler = listHandler;
listHandler.Register(this);