标签: 反射

  • 反射加载

    从SmartCoder里提取出来的代码:反射加载代码片断

    过滤器有很多个备选,动态选择。

    private IFilter getFilter(string filterName) { Type o = Type.GetType(filterName);//加载类型 IFilter filter = (IFilter)Activator.CreateInstance(o, true); return filter; }

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="FilterSetting" type="TemplateEngine.FilterSettingSection, TemplateEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" /> </configSections> <FilterSetting default="DefaultFilter"> <Filters> <clear /> <add name="DefaultFilter" type="TemplateEngine.Filter.DefaultFilter,TemplateEngine,Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> <add name="Filter1" type="TemplateEngine.DefaultFilter,Test"  /> <add name="Filter2" type="Test.Filter2,Test"  /> <add name="Filter3" type="Test.Filter3,Test"  /> <add name="Filter4" type="Test.Filter4,Test"  /> </Filters> </FilterSetting> </configuration>