如题,让他的实例从其他方法作为返回值获取。如AssemblyBuilder a = new AssemblyBuilder();错误:类型“System.Reflection.Emit.AssemblyBuilder”未定义构造函数 d:\My Document\Visual Studio 2008\C# 高级基础\动态程序集\动态程序集\Form1.cs 44 66 动态程序集当然把构造函数定义成private肯定就不是这种效果了哈,还请高手解答

解决方案 »

  1.   

    如果想这类 在某个进程中是唯一的,即只能new一次,则将它构造声明为private
      

  2.   

    如Graphics的构造函数是私有的,本意就是不让直接构造
    MarshalByRefObject, IDeviceContext, IDisposable
    sqldatareader
      

  3.   

    使用从Assembly继承的方法Load (String)就可以了
      

  4.   

    如果是私有的话,很明显的使用new 报错就应该是,该构造函数的访问级别过低,无法访问。而不是未定义构造函数了,如果定义成私有的,这个我肯定知道,现在就是不知道如何不定义构造函数还请高手赐教
      

  5.   


    难道你不想知道.NET framework对这种 无构造函数的类 到底是怎么封装的么?我倒是非常得想知道
      

  6.   

    默认构造用private或者internal修饰。如
    public class AA
    {
      internal AA(){}
    }
    在其他程序集引用这个dll
    AA a=new AA();
    在编译时就会提示未定义构造函数。
      

  7.   

    编辑器 会自动默认一个构造函数
    public class AA
    {
      internal AA(){}
    }
    也可以自定构造函数!
    public class AA
    {
      internal AA([param],....){}
    }
      

  8.   


    正解,结贴。原来同一个程序集下面,IDE编译检测,是报 该构造函数的访问级别过低,无法访问 ,其他程序集引用则报 未定义构造函数