我建了两个项目A,B,A项目下有个类a,B项目下有个类b,类a与类b完全相同,如何将一个其中的一个类转换成另一个项目中另一个类,下面是我想着写的个小例子,不知道大家看懂了么,不懂留言 我在解释一下
谢谢帮吗啦
//项目A
public Class A
{
   public a getA()
    {
       a a2=new a();
       return a;
     }
}Class a
{
    //属性
    private  string _str;
    public string str
     {
       set{this._str=value;}
       get{return this._str;}
      }
}
//项目B,在项目B中添加了A的引用Class B
{
    A.A a3=new A.A();
    b b2=new b();
    b2=a3.getA();    //问题出在这  怎么样让一个项目中的类转换成另一个项目中的类,两个类是完全相同的
}Class b
{
    //属性
    private  string _str;
    public string str
     {
       set{this._str=value;}
       get{return this._str;}
      }
}

解决方案 »

  1.   

    我建了两个项目A,B,A项目下有个类a,B项目下有个类b,类a与类b完全相同
    --这里的“类a与类b完全相同”如果是根据class body内容相同推导出来的结论,该结论就是不正确的。
    这两个类在不同的namespace中,但从这点看CLR就会把它们识别为不同的。
      

  2.   

    把b2=a3.getA();    改成b2=a3.getA() as b; 如何??   
      

  3.   

    再建一个工程,把这个一样的类,建在这里,然后A,B两个工程,都引用这个工程,不就OK了,还想说一句,你那样是肯定没有办法转换的,除非,自己写代码,或是通过某种反射的方法来做
      

  4.   

    //implicit自定义类型转换
    Class a
    {
        //属性
        private  string _str;
        public string str
         {
           set{this._str=value;}
           get{return this._str;}
          }     public static implicit operator b(a value)
         {
              b = new b();
              b.str = this.str;
              return b;
         }
    }这样就可以了