c# - 什么相当于将 Spring.Objects.Factory - Spring.NET 替换为 AutoFac
问题描述
Spring.Objects.Factory:
#region Assembly Spring.Core, Version=2.0.0.40001, Culture=neutral, PublicKeyToken=null
#endregion
using System;
using System.Collections.Generic;
using System.Reflection;
namespace Spring.Objects.Factory
{
[DefaultMember("Item")]
public interface IObjectFactory : IDisposable
{
object this[string name] { get; }
bool IsCaseSensitive { get; }
object ConfigureObject(object target, string name);
bool ContainsObject(string name);
T CreateObject<T>(string name, object[] arguments);
object CreateObject(string name, Type requiredType, object[] arguments);
IList<string> GetAliases(string name);
object GetObject(string name, Type requiredType);
object GetObject(string name, Type requiredType, object[] arguments);
object GetObject(string name, object[] arguments);
T GetObject<T>(string name);
object GetObject(string name);
T GetObject<T>();
T GetObject<T>(string name, object[] arguments);
Type GetType(string name);
bool IsPrototype(string name);
bool IsSingleton(string name);
bool IsTypeMatch(string name, Type targetType);
bool IsTypeMatch<T>(string name);
}
}
我的代码:
<object id="MyGridModel" abstract="true" type="[ClassName], [Assembly]" >
<property name="PageSize" value="100" />
<property name="ShrinkToFit" value="true" />
<property name="AutoWidth" value="true" />
</object>
<object id="UserGrid" parent="MyGridModel" scope="session">
<property name="GridId" value="UserGrid" />
<property name="Height" ref="300" />
</object>
<object id="RoleGrid" parent="MyGridModel" scope="session">
<property name="GridId" value="RoleGrid" />
<property name="Height" ref="200" />
</object>
这适用于 Spring.NET 和 MVC。但现在我想用 AutoFac 替换 Spring.NET。
我想将 Spring.Objects.Factory 下面的等效方法放入 AutoFac。
T GetObject();
我打电话给 UserGrid :
string gridId = "UserGrid";
protected virtual GridModel GetGridModel(string gridId)
{
return ContextContainer.Instance.GetObject<GridModel>(gridId);
}
解决方案
推荐阅读
- angularjs - Angularjs - 如何防止多次评估相同的观察表达式?
- terraform - terraform init 步骤与“没有可用的版本匹配给定的约束〜> 2.1.28”
- npm - 如何从 npm 链接中删除命名空间?
- javascript - Redux 状态无法在错误情况下更新
- angular - 如何从 angular2 中的 Observable 获取字符串 [] 唯一项目属性数组?
- python - Telethon - 为什么我不能在我的 API 调用中将用户添加到频道?
- kotlin - 从嵌套循环中引用外部 $it
- excel - 您可以在不指定范围的情况下使用自动填充吗?
- java - Thymeleaf 日期字段作为 null 传递给控制器
- javascript - 从 image.onload 调用函数的角度