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

手机网站在哪里找到做网站怎样连数据库

手机网站在哪里找到,做网站怎样连数据库,域名 网站,网站建设的基本步骤是哪些前言 反射使用#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.tj-hxxt.cn/news/134313.html

相关文章:

  • 做网站网站需要多少钱网站设计的要求有哪些
  • 做推广可以在哪些网站发布软文wordpress群晖
  • 浙江网站建设品牌设计网站仿站教程
  • 做汇算清缴在哪个网站下房产做网站是什么意思
  • 网站设计公司北京企业网站建设的类型
  • win7做系统网站哪个好四平网络推广
  • 软件优化网站佛山微信网站开发
  • wordpress网站打不开从零做网站
  • 学网站建设与管理有用吗wordpress 伪静态seo
  • 设计网站的流程驻马店seo
  • 卓商网站建设wordpress主题中文版
  • icp备案网站沧州什么地方可以学建网站
  • 源码网站 怎么做wordpress formcraft 0.8下载
  • asp.ne做网站网页框架与布局
  • 网站备案用的方案建设千锋教育培训
  • 织梦网站 伪静态驻马店市可以做网站的公司
  • c 开发手机网站开发编程外包平台
  • 北京好的网站建设公司做网站要用到什么
  • 网站功能需求怎么写网站域名备案变更
  • 网站内部资源推广方法找工程项目上哪个平台好呢
  • 通达oa 做网站计划网站搭建
  • 网站专题分类个人做网站要注意什么条件
  • seo网站推广专员简单个人网站开发
  • 建立带数据库的网站wordpress免费的企业主题
  • 中国网站建设网wordpress更改链接后网站打不开
  • 哈尔滨网站开发电话网站接广告平台
  • 网站绝对路径南京网站建设公司有哪些
  • 手机版微网站安徽省建设工程八大员报名网站
  • 在线网站建设工程标准个人网站免费注册
  • 手机app网站dw网页设计心得体会