2 つのプロジェクトを含むプロジェクトを作成しました。1 つはコンソール アプリケーションで、もう 1 つはクラス ライブラリ プロジェクトです。
クラス ライブラリ プロジェクトからの 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 がスローされます。
これに対する修正はありますか。
この問題について私を助けてください。
前もって感謝します。