Ejemplo n.º 1
0
 /// <summary>
 /// To get the specified type of object pool.<br />
 /// 获取指定类型的对象池。
 /// </summary>
 /// <param name="type"></param>
 /// <param name="opt"></param>
 /// <returns></returns>
 /// <exception cref="InvalidOperationException"> Unknown type.</exception>
 /// <exception cref="ArgumentException">Unable to get the specified type of object pool.</exception>
 // ReSharper disable once MemberHidesStaticFromOuterClass
 public static IObjectPool Get(this Opt opt, Type type)
 => ObjectPoolManager.ManagedModels.Get(opt.ManagedModelType, type);
Ejemplo n.º 2
0
 /// <summary>
 /// Register IObjectPoolManagedModel type
 /// </summary>
 /// <param name="opt"></param>
 /// <returns></returns>
 public static bool Register(this Opt opt)
 => ObjectPoolManager.ManagedModels.Register(opt.ManagedModelType);
Ejemplo n.º 3
0
 /// <summary>
 /// Register IObjectPoolManagedModel type
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="factory"></param>
 /// <returns></returns>
 public static bool Register(this Opt opt, Func <IObjectPoolManagedModel> factory)
 => ObjectPoolManager.ManagedModels.Register(opt.ManagedModelType, factory);
Ejemplo n.º 4
0
 /// <summary>
 /// Contains<br />
 /// 查看是否包含
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static bool Contains <T>(this Opt opt) => ObjectPoolManager.ManagedModels.Contains(opt.ManagedModelType, typeof(T));
Ejemplo n.º 5
0
 /// <summary>
 /// Contains<br />
 /// 查看是否包含
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static bool Contains(this Opt opt, Type type, string name) => ObjectPoolManager.ManagedModels.Contains(opt.ManagedModelType, type, name);
Ejemplo n.º 6
0
 /// <summary>
 /// To get or create a specified type and name of object pool.
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <param name="policy"></param>
 /// <returns></returns>
 // ReSharper disable once MemberHidesStaticFromOuterClass
 public static IObjectPool GetOrCreate(this Opt opt, Type type, string name, IPolicy policy)
 => ObjectPoolManager.ManagedModels.GetOrCreate(opt.ManagedModelType, type, name, policy);
Ejemplo n.º 7
0
 /// <summary>
 /// To get or create a specified type and name of object pool.
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <param name="insteadOfFactory"></param>
 /// <returns></returns>
 /// <exception cref="ArgumentNullException"></exception>
 // ReSharper disable once MemberHidesStaticFromOuterClass
 public static IObjectPool GetOrCreate(this Opt opt, Type type, string name, Func <IObjectPool> insteadOfFactory)
 => ObjectPoolManager.ManagedModels.GetOrCreate(opt.ManagedModelType, type, name, insteadOfFactory);
Ejemplo n.º 8
0
 /// <summary>
 /// To get or create a specified type and name of object pool.
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <param name="poolSize"></param>
 /// <param name="createObjectFunc"></param>
 /// <param name="getObjectHandler"></param>
 /// <returns></returns>
 // ReSharper disable once MemberHidesStaticFromOuterClass
 public static IObjectPool GetOrCreate(this Opt opt, Type type, string name, int poolSize, Func <object> createObjectFunc, Action <ObjectBox> getObjectHandler = null)
 => ObjectPoolManager.ManagedModels.GetOrCreate(opt.ManagedModelType, type, name, poolSize, createObjectFunc, getObjectHandler);
Ejemplo n.º 9
0
 /// <summary>
 /// Create a specified type and name of object pool.
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="name"></param>
 /// <param name="poolFunc"></param>
 /// <returns></returns>
 public static IObjectPool Create(this Opt opt, string name, Func <IObjectPool> poolFunc)
 => ObjectPoolManager.ManagedModels.Create(opt.ManagedModelType, name, poolFunc);
Ejemplo n.º 10
0
 /// <summary>
 /// Create a specified type and name of object pool.
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="name"></param>
 /// <param name="pool"></param>
 /// <returns></returns>
 public static IObjectPool Create(this Opt opt, string name, IObjectPool pool)
 => ObjectPoolManager.ManagedModels.Create(opt.ManagedModelType, name, pool);
Ejemplo n.º 11
0
 /// <summary>
 /// Create a specified type of object pool.
 /// </summary>
 /// <param name="opt"></param>
 /// <param name="policy"></param>
 /// <returns></returns>
 public static IObjectPool Create(this Opt opt, IPolicy policy)
 => ObjectPoolManager.ManagedModels.Create(opt.ManagedModelType, policy);
Ejemplo n.º 12
0
 /// <summary>
 /// Create a specified type of object pool.
 /// </summary>
 /// <param name="poolSize"></param>
 /// <param name="createObjectFunc"></param>
 /// <param name="getObjectHandler"></param>
 /// <param name="opt"></param>
 /// <returns></returns>
 public static IObjectPool Create <T>(this Opt opt, int poolSize, Func <object> createObjectFunc, Action <ObjectBox> getObjectHandler = null)
 => ObjectPoolManager.ManagedModels.Create(opt.ManagedModelType, typeof(T), poolSize, createObjectFunc, getObjectHandler);