вопрос o Reflection!
[COLOR="Blue"]
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace RealNet
{
public class Demo
{
}
public class SimpleClass
{
public Demo[] demo = null;
}
class Program
{
static void Main(string[] args)
{
SimpleClass smp = new SimpleClass();
Type type = typeof(SimpleClass);
FieldInfo fld = type.GetField("demo");
Demo demo1 = new Demo();
Demo demo2 = new Demo();
Demo demo3 = new Demo();
object obj = new object[] { demo1, demo2, demo3 };
fld.SetValue(smp, obj);
}
}
}
[/COLOR]
Exeption:
[COLOR="SeaGreen"]
Object of type 'System.Object[]' cannot be converted to type 'RealNet.Demo[]'.
[/COLOR]
Вопрос:
Как конвертировать System.Object[] к RealNet.Demo[].Заранее Спасибо!
Цитата: BrainSt0rm
Код:
[COLOR=Blue]
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace RealNet
{
public class Demo
{
}
public class SimpleClass
{
public Demo[] demo = null;
}
class Program
{
static void Main(string[] args)
{
SimpleClass smp = new SimpleClass();
Type type = typeof(SimpleClass);
FieldInfo fld = type.GetField("demo");
Demo demo1 = new Demo();
Demo demo2 = new Demo();
Demo demo3 = new Demo();
object[color=red][][/color] obj = new object[] { demo1, demo2, demo3 };
fld.SetValue(smp, obj);
}
}
}
[/COLOR]
Exeption:
[COLOR=SeaGreen]
Object of type 'System.Object[]' cannot be converted to type 'RealNet.Demo[]'.
[/COLOR]
Вопрос:
Как конвертировать System.Object[] к RealNet.Demo[].Заранее Спасибо!
[COLOR=Blue]
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
namespace RealNet
{
public class Demo
{
}
public class SimpleClass
{
public Demo[] demo = null;
}
class Program
{
static void Main(string[] args)
{
SimpleClass smp = new SimpleClass();
Type type = typeof(SimpleClass);
FieldInfo fld = type.GetField("demo");
Demo demo1 = new Demo();
Demo demo2 = new Demo();
Demo demo3 = new Demo();
object[color=red][][/color] obj = new object[] { demo1, demo2, demo3 };
fld.SetValue(smp, obj);
}
}
}
[/COLOR]
Exeption:
[COLOR=SeaGreen]
Object of type 'System.Object[]' cannot be converted to type 'RealNet.Demo[]'.
[/COLOR]
Вопрос:
Как конвертировать System.Object[] к RealNet.Demo[].Заранее Спасибо!
Мож из-за этого (см. выделение). Какая строка выбрасывает исключение?
мне известный только System.Object[] array,а к какому типу привести - неизвестно!Если так
public class SimpleClass
{
public Demo demo = null;//All ok,demo is not array type
}
тогда работает,но нужно Array!!!
Какая строка выбрасывает исключение?
fld.SetValue(smp, obj);
Если так
public class SimpleClass
{
public Demo demo = null;//All ok,demo is not array type
}
Нет исключениЯ!