请问有没有这样的类或者实现这种类的思路:
设定FunctionClass 是一个函数类,可以动态创建生成函数。

FunctionClass fc=
new FunctionClass("private int getValue{return 20080808;");
那么
int myint=fc.executeFunc();
//then myint=20080808;
(以上FunctionClass,executeFunc只是举例)

解决方案 »

  1.   

    好像是可以。
    我提供一个函数字符串,如"private int getValue{return 20080808;}"
    那用反射能不能提示一下如何实现。谢谢!
      

  2.   

    看看反射发出,或者 codedmo 
      

  3.   

    用反射是做不到的。.Net提供了CSharp的编译类,你要先写好代码,然后生成Assembly,再通过反射从Assembly里得到你想要的类型和方法,就可以达到你要求的结果了。
    否则的话,就等于要自己实现C#的编译。
      

  4.   

    利用.net的编译类 编译你动态产生的函数类,在用反射去调用这个函数类
      

  5.   

    发出动态程序集本节描述了 System.Reflection.Emit 命名空间中的一组托管类型,它们允许编译器或工具在运行时发出元数据和 Microsoft 中间语言 (MSIL),或者也可以允许它们在磁盘上生成可移植可执行 (PE) 文件。脚本引擎和编译器是此命名空间的主要用户。在本节中,由 System.Reflection.Emit 命名空间提供的功能称为反射发出。反射发出提供下列服务: 在运行时定义程序集,然后运行这些程序集并/或将它们保存到磁盘。 
    在运行时定义新程序集中的模块,然后运行这些模块并/或将它们保存到磁盘。 
    在运行时定义类型,创建这些类型的实例,并调用这些类型的方法。 
    为定义的模块定义可由调试器和代码分析器这样的工具使用的符号信息。 
    “元数据 API”规范(位于 %systemroot%\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs 目录下)和“程序集清单”规范(位于 %systemroot%\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs 目录下)中描述了一些元数据发出接口,这些接口提供了另一套用于定义元数据的非托管 API。反射发出比元数据发出接口提供更强的语义错误检查和更高级别的元数据抽象化。本节内容
    反射发出抽象化 
    列出并描述反射发出抽象化。 
    反射发出方案 
    描述反射发出所支持的核心方案和应用程序方案。 
    反射发出中的安全问题 
    描述与使用反射发出创建动态程序集有关的安全问题。 
    使用反射发出 
    描述可使用反射发出执行的基本任务。 
    有关反射发出的更多信息 
    描述与反射发出有关的其他文档。 
    相关章节
      

  6.   

    ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconemittingdynamicassemblies.htm