将Array转换为Object Class时,Object必须实现IConvertible

时间:2018-01-25 08:00:26

标签: c#

我得到错误,对象必须在将数组转换为b []类时实现IConvertible。 代码如下:

public void Main()
{
    ArrayList myList = new ArrayList(); 
    a a1 = new a();
    b ba = new b();
    ba.b1 = 1;
    ba.b2 = 2;
    myList.Add(ba);
    a1.Bclass = ConvertType(myList.ToArray(), GetArrayType(Type.GetType("b")));
}

private Type GetArrayType(Type elementType)
{
    return elementType.MakeArrayType();
}

public static dynamic ConvertType(dynamic source, Type dest)
{
    return System.Convert.ChangeType(source, dest);
}

我想这样做而不是直接投射,因为我想动态地做。示例类如下:

public class a
{
    private b[] bclass;
    public b[] Bclass
    {
        get;
        set;
    }
}

public class b
{
    public int b1
    {
        get;
        set;
    }

    public int b2
    {
        get;
        set;
    }
}

0 个答案:

没有答案