当前位置: 首页 > news >正文

做电商网站一般需要什么流程图购物商城app

做电商网站一般需要什么流程图,购物商城app,淘宝客网站主,wordpress 模板文件前言 反射使用#xff0c;让我们的程序可以动态增加一些功能#xff0c;让原本固化的步骤逻辑变得动态#xff0c;这是它的优点。当然使用反射首次加载会有性能损耗以及使用复杂#xff1b;但是现在大家都在讲动态#xff0c;使用好它应该是一个重要的编程理念提升。MVC、…前言 反射使用让我们的程序可以动态增加一些功能让原本固化的步骤逻辑变得动态这是它的优点。当然使用反射首次加载会有性能损耗以及使用复杂但是现在大家都在讲动态使用好它应该是一个重要的编程理念提升。MVC、ORM、IOC、AOPA都有使用这个东西了。如果要考虑性能可以考虑缓存程序集我们保证程序只加载一次就好。 一、直接利用反射读写对象的值 static void Main(string[] args){Person p new Person() { Name 丁竹, Age 26, Sex true };p.Working(readinof);//利用反射读取值object obj p;var type obj.GetType();foreach (var item in type.GetProperties()){string value item.GetValue(obj, null).ToString();Console.WriteLine(${item.Name} {value});}Assembly ass Assembly.Load(ReadInfo);object pObj ass.CreateInstance(ReadInfo.Person);//利用反射设置值{System.Reflection.PropertyInfo propertyInfo type.GetProperty(Name);propertyInfo.SetValue(obj, ding, null);}Console.Read();} 二、通过反射调用实例 static void Main(string[] args){//[1].CsharpCodePrivode//提供对C#代码生成器和代码编译器的实例的访问。如果要动态生成VB代码可以使用VBCodeProvider.//CreateCompiler():获取编译器的实例CSharpCodeProvider objcsharpcodeprivoder new CSharpCodeProvider();//[2].ICodeComplier//定义用于调用源代码编译的接口或使用指定编译器的CodeDOM树。//每种编译方法都接受编译器的ComplierParameter对象,并返回指示编译结果的CompilerResults对象ICodeCompiler codeCompiler objcsharpcodeprivoder.CreateCompiler();//[3].ComplierParameters 表示用于调用编译器的参数//ReferencedAssembies:获取当前项目所引用的程序集。Add方法为程序集添加引用//GenerateExecutable:获取或设置一个值该值指示是否生成可执行文件。若此属性为false,则生成Dll,默认是false.//GenerateInMemor获取或设置一个值该值指示是否在内存中生成输出。CompilerParameters objcompilerparameters new CompilerParameters();// objcompilerparameters.ReferencedAssemblies.Add(System.dll);objcompilerparameters.GenerateExecutable false;objcompilerparameters.GenerateInMemory true;//[4].CompilerResults 表示从编译器返回的编译结果//CompiedAssembly获取或设置以编译的程序集Assembly类型。CompilerResults cr codeCompiler.CompileAssemblyFromSource(objcompilerparameters, GenerateCode());if (cr.Errors.HasErrors){Console.WriteLine(编译错误);foreach (CompilerError item in cr.Errors){Console.WriteLine(item.ErrorText);}}else{//通过反馈调用HelloWorld实例Assembly assembly cr.CompiledAssembly;object objHelloWorld assembly.CreateInstance(DynamicCodeGenerate.HelloWorld);MethodInfo objMI objHelloWorld.GetType().GetMethod(OutPut);Console.WriteLine(objMI.Invoke(objHelloWorld,null));}Console.ReadLine();}static string GenerateCode(){StringBuilder sb new StringBuilder();sb.Append(using System;);sb.Append(Environment.NewLine);sb.Append(namespace DynamicCodeGenerate);sb.Append(Environment.NewLine);sb.Append({);sb.Append(Environment.NewLine);sb.Append( public class HelloWorld);sb.Append(Environment.NewLine);sb.Append( {);sb.Append(Environment.NewLine);sb.Append( public string OutPut());sb.Append(Environment.NewLine);sb.Append( {);sb.Append(Environment.NewLine);sb.Append( return \Hello world!\;);sb.Append(Environment.NewLine);sb.Append( });sb.Append(Environment.NewLine);sb.Append( });sb.Append(Environment.NewLine);sb.Append( });string code sb.ToString();Console.WriteLine(code);Console.WriteLine();return code;} 三、通过动态加载Dll生成实例 dom.DoCompileFile(Path.Combine(pathStr, filename), Test.dll);MySampleDomain AppDomain.CreateDomain(MySampleDomain);ass Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory Test.dll);obj MySampleDomain.CreateInstanceAndUnwrap(ass.FullName, Sample.Demo);四、通过反射调用方法 Type type obj.GetType();MethodInfo method type.GetMethod(Add);int aConvert.ToInt32( method.Invoke(obj, new object[] { 1,3 }));Console.WriteLine(a); 五、完整代码 public class ReflexHelp{public void Execute(string gencode){//[1].CsharpCodePrivode//提供对C#代码生成器和代码编译器的实例的访问。如果要动态生成VB代码可以使用VBCodeProvider.//CreateCompiler():获取编译器的实例CSharpCodeProvider objcsharpcodeprivoder new CSharpCodeProvider();//[2].ICodeComplier//定义用于调用源代码编译的接口或使用指定编译器的CodeDOM树。//每种编译方法都接受编译器的ComplierParameter对象,并返回指示编译结果的CompilerResults对象ICodeCompiler codeCompiler objcsharpcodeprivoder.CreateCompiler();//[3].ComplierParameters 表示用于调用编译器的参数//ReferencedAssembies:获取当前项目所引用的程序集。Add方法为程序集添加引用//GenerateExecutable:获取或设置一个值该值指示是否生成可执行文件。若此属性为false,则生成Dll,默认是false.//GenerateInMemor获取或设置一个值该值指示是否在内存中生成输出。CompilerParameters objcompilerparameters new CompilerParameters();// objcompilerparameters.ReferencedAssemblies.Add(System.dll);objcompilerparameters.GenerateExecutable false;objcompilerparameters.GenerateInMemory true;//[4].CompilerResults 表示从编译器返回的编译结果//CompiedAssembly获取或设置以编译的程序集Assembly类型。CompilerResults cr codeCompiler.CompileAssemblyFromSource(objcompilerparameters, gencode);if (cr.Errors.HasErrors){Console.WriteLine(编译错误);foreach (CompilerError item in cr.Errors){Console.WriteLine(item.ErrorText);}}else{//通过反馈调用HelloWorld实例Assembly assembly cr.CompiledAssembly;object objHelloWorld assembly.CreateInstance(DynamicCodeGenerate.HelloWorld);MethodInfo objMI objHelloWorld.GetType().GetMethod(OutPut);Console.WriteLine(objMI.Invoke(objHelloWorld, null));}}public object GenObject(string dllFileName, string typeName){Assembly ass Assembly.LoadFile(dllFileName);return ass.CreateInstance(typeName);}public int GetAddInfo(object obj, string methrName){Type type obj.GetType();MethodInfo method type.GetMethod(methrName);return Convert.ToInt32(method.Invoke(obj, new object[] { 1, 3 }));}/// summary/// 编译代码/// /summary/// param nameprovider编译器/param/// param namesourceFile源文件/param/// param namegentenFile生成文件名/param/// returns编译结果/returnspublic CompilerResults CompileCode(CodeDomProvider provider, string sourceFile, string gentenFile){string[] referenceAssemblies { System.dll };CompilerParameters cp new CompilerParameters(referenceAssemblies, gentenFile, false);cp.GenerateExecutable false;//设置是否要包含一个入口点CompilerResults cr provider.CompileAssemblyFromFile(cp, sourceFile);return cr;}}
http://www.w-s-a.com/news/834976/

相关文章:

  • 便利的集团网站建设网页的依托网站
  • 茶叶网站建设题库制作助手app
  • 网站建设栏目层级北京网站搭建公司电话
  • 网站开发运营经理打开百度竞价页面是网站是什么
  • 国内最专业的设计网站建设现在用什么语言做网站
  • 湖南网站开发 岚鸿象山县建设工程招投标网站
  • 长沙免费网站排名wordpress 教学
  • 专门做app的网站html代码是什么
  • 临沂网站制作建设欧米茄表官网
  • 北京模板网站开发全包网站建设的第三方平台
  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站
  • 怎样建一个自己公司的网站制作网站需要钱吗
  • 联盟网站制作wap网站制作公司
  • 美丽乡村建设发展论坛网站wordpress 仿站 教程网
  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展
  • 有女人和马做网站吗宁波seo优势
  • 网站做用户记录表电商运营推广计划方案
  • 网站备案认领杭州网页设计公司招聘
  • 易签到网站开发设计做网站运营有前途吗
  • 南通网站建设心得2023必考十大时政热点
  • 苍溪建设局网站公建设计网站