我创建了一个包含两个项目的项目。一个是控制台应用程序,另一个是类库项目。
我将类库项目中的 dll 引用添加到控制台应用程序中。
现在,当我从类库项目返回一个对象时,可以在控制台应用程序中检索它,但如果我尝试强制转换它,它就不起作用。
它抛出错误,因为无法将类型 a 转换为类型 b。
我在这个错误中挣扎了好几个小时。
我的类库项目代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClassLibrary1
{
public class Class1
{
public object dyn()
{
var obj = new { ID = 2, Name = "Rajesh" };
return obj;
}
}
}
在上面我返回了一个列表作为对象。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq;
using System.Data.SqlClient;
using System.Collections;
using System.Data;
using ClassLibrary1;
using System.Reflection;
using System.ComponentModel;
namespace ConsoleApplication2
{
public class Program
{
public static void Main(string[] args)
{
Program objPgm = new Program();
Class1 objCls=new Class1();
object obj = objCls.dyn();
var list = objPgm.cast(obj, new { ID = 0, Name = "" });
}
public T cast<T>(object obj,T type)
{
return (T)obj;
}
}
在上面的代码中,我从类库项目中检索了对象,并在尝试强制转换时抛出了 InvalidCastException。
有什么解决办法。
请在这个问题上帮助我。
提前致谢。