博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
System.Activator类
阅读量:4450 次
发布时间:2019-06-07

本文共 3042 字,大约阅读时间需要 10 分钟。

public static ObjectHandle CreateInstance(string assemblyName, string typeName);

该类有一个方法。

 

//

// 摘要:
// 使用命名的程序集和默认构造函数,创建名称已指定的类型的实例。
//
// 参数:
// assemblyName:
// 将在其中查找名为 typeName 的类型的程序集的名称。如果 assemblyName 为 null,则搜索正在执行的程序集。
//
// typeName:
// 首选类型的名称。
//
// 返回结果:
// 要访问新创建的实例则必须解包的句柄。
//
// 异常:
// System.ArgumentNullException:
// typeName 为 null。
//
// System.MissingMethodException:
// 找不到匹配的公共构造函数。
//
// System.TypeLoadException:
// 在 assemblyName 中找不到 typename。
//
// System.IO.FileNotFoundException:
// 未找到 assemblyName。
//
// System.MethodAccessException:
// 调用方没有调用此构造函数的权限。
//
// System.MemberAccessException:
// 无法创建抽象类的实例,或者用后期绑定机制调用了该成员。
//
// System.Reflection.TargetInvocationException:
// 通过反射调用的构造函数引发了异常。
//
// System.Runtime.InteropServices.InvalidComObjectException:
// COM 类型不是通过 Overload:System.Type.GetTypeFromProgID 或 Overload:System.Type.GetTypeFromCLSID
// 获得的。
//
// System.NotSupportedException:
// 不支持创建 System.TypedReference、System.ArgIterator、System.Void 和 System.RuntimeArgumentHandle
// 类型或者由这些类型组成的数组。
//
// System.BadImageFormatException:
// assemblyName 不是有效程序集。- 或 -当前加载的是 2.0 或更高版本的公共语言运行时 (CLR),而 assemblyName 是用高于当前加载版本的
// CLR 版本编译的。请注意,.NET Framework 2.0 版、3.0 版和 3.5 版都使用 CLR 2.0 版。
//
// System.IO.FileLoadException:
// 用两个不同的证据将一个程序集或模块加载了两次。

 

using System;using System.Collections.Generic;using System.Text;namespace MS.FrameWork{    ///     /// MS.FrameWork缓存类    ///     public class FrameWorkCache    {        private static IFrameWorkCache _FrameWorkCache = null;        static FrameWorkCache()        {            _FrameWorkCache = (IFrameWorkCache)Activator.CreateInstance(Commom.GetCachenamespace, Commom.GetCacheclassName).Unwrap();        }        ///         /// 在线用户接口        ///         /// 
IFrameWorkOnline实现类
public static IFrameWorkCache Instance() { return _FrameWorkCache; } }}

 

 Commom中的信息

#region "获得缓存类配置(命名空间)"        ///         /// 获得缓存类配置(命名空间)        ///         public static string GetCachenamespace        {            get            {                return ConfigurationManager.AppSettings["Cachenamespace"];            }        }        #endregion        #region "获得缓存类配置(类名)"        ///         /// 获得缓存类配置(类名)        ///         public static string GetCacheclassName        {            get            {                return ConfigurationManager.AppSettings["CacheclassName"];            }        }        #endregion

Web.config中的配置:

这是一个使用缓存的代码部分。

System.Web.Caching.Cache

//        // 摘要:        //     获取可用于缓存的字节数。        //        // 返回结果:        //     可用于缓存的字节数。        public long EffectivePrivateBytesLimit { get; }

获取缓存剩余空间。

HttpRuntime.Cache

ASP.NET为了方便我们访问Cache,在HttpRuntime类中加了一个静态属性Cache,这样,我们就可以在任意地方使用Cache的功能。 而且,ASP.NET还给它增加了二个“快捷方式”:Page.Cache, HttpContext.Cache,我们通过这二个对象也可以访问到HttpRuntime.Cache, 注意:这三者是在访问同一个对象。Page.Cache访问了HttpContext.Cache,而HttpContext.Cache又直接访问HttpRuntime.Cache

 

转载于:https://www.cnblogs.com/Tpf386/p/6611224.html

你可能感兴趣的文章
CSU 1160 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示
查看>>
LintCode 58: Compare Strings
查看>>
[Unity插件]Lua行为树(五):装饰节点Repeater
查看>>
限制.svn 访问
查看>>
从lca到树链剖分 bestcoder round#45 1003
查看>>
顺序表、链表、栈和队列
查看>>
Linux第二天(Linux常用命令2)
查看>>
MySql知识体系
查看>>
JIRA中的标记语言的语法参考
查看>>
hdu 6318 Swaps and Inversions(归并排序)
查看>>
用css在IE7、8上实现圆角
查看>>
三维绿幕标定与跟踪
查看>>
android ProgressBar自定义半圆形进度条
查看>>
局部变量的值赋给成员变量 案例(红色字体)
查看>>
Django
查看>>
hdu.5212.Code(莫比乌斯反演 && 埃氏筛)
查看>>
CPU温度问题
查看>>
python学习记录一
查看>>
使用LINQ的Skip和Take函数分批获取数据
查看>>
IP通信基础 4月1日
查看>>