本文整理汇总了C#中ITypesInfo.AssignAsInstance方法的典型用法代码示例。如果您正苦于以下问题:C# ITypesInfo.AssignAsInstance方法的具体用法?C# ITypesInfo.AssignAsInstance怎么用?C# ITypesInfo.AssignAsInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITypesInfo
的用法示例。
在下文中一共展示了ITypesInfo.AssignAsInstance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateModulesManager
XpandApplicationModulesManager CreateModulesManager(XafApplication application, string configFileName, string assembliesPath, ITypesInfo typesInfo) {
if (!string.IsNullOrEmpty(configFileName)) {
bool isWebApplicationModel = String.Compare(Path.GetFileNameWithoutExtension(configFileName), "web", StringComparison.OrdinalIgnoreCase) == 0;
if (string.IsNullOrEmpty(assembliesPath)) {
assembliesPath = Path.GetDirectoryName(configFileName);
if (isWebApplicationModel) {
assembliesPath = Path.Combine(assembliesPath + "", "Bin");
}
}
}
ReflectionHelper.AddResolvePath(assembliesPath);
ITypesInfo synchronizeTypesInfo = null;
try {
var applicationModulesManager = new XpandApplicationModulesManager(new ControllersManager(), assembliesPath);
if (application != null) {
foreach (ModuleBase module in application.Modules) {
applicationModulesManager.AddModule(module);
}
applicationModulesManager.Security = application.Security;
}
if (!string.IsNullOrEmpty(configFileName)) {
applicationModulesManager.AddModuleFromAssemblies(GetModulesFromConfig(application));
}
var loadTypesInfo = typesInfo != XafTypesInfo.Instance;
synchronizeTypesInfo = XafTypesInfo.Instance;
typesInfo.AssignAsInstance();
applicationModulesManager.TypesInfo = typesInfo;
applicationModulesManager.Load(typesInfo, loadTypesInfo);
return applicationModulesManager;
} finally {
synchronizeTypesInfo.AssignAsInstance();
ReflectionHelper.RemoveResolvePath(assembliesPath);
}
}