如何将List <object>传递给方法签名方法(object obj),然后转换回List <object>

时间:2018-04-17 07:51:39

标签: c#

我有对象List实体,我必须将它传递给具有方法(对象)签名的类的方法。它允许我向对象发送一个List,但是如何将它返回到List的对象列表?

E.G。

public class Sample
{
    public void passer()
    {
        List<ENT_Transaction> entityList = new List<ENT_Transaction>();
        ENT_Transaction entity = new ENT_Transaction;
        entityList.Add(entity);

        receiver(entityList);   
    }

    public void receiver(object obj)
    {
        //This is not allowed on runtime
        List<ENT_Transaction> entity = (List<ENT_Transaction>)obj;
    }
}

我是做得对还是应该将方法签名更改为接收者(List obj)以接收对象列表列表?

1 个答案:

答案 0 :(得分:2)

根据你的评论你有一个接口,其中包含带有object参数的函数,

所以我建议你使用泛型

在界面

中创建通用功能
interface ISample<T> where T : class
{
    void receiver<T>(T obj) ;
}

public class Sample : ISample<List<ENT_Transaction>>
{
    public void passer()
    {
        List<ENT_Transaction> entityList = new List<ENT_Transaction>();
        ENT_Transaction entity = new ENT_Transaction;
        entityList.Add(entity);

        receiver(entityList);
    }        

    public void receiver<T>(T obj)
    {
        T entity = obj;
    }
}