Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вопрос o Reflection!

23K
19 января 2007 года
BrainSt0rm
2 / / 20.12.2006
Код:
[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[].Заранее Спасибо!
303
19 января 2007 года
makbeth
1.0K / / 25.11.2004
Цитата: 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[].Заранее Спасибо!


Мож из-за этого (см. выделение). Какая строка выбрасывает исключение?

23K
19 января 2007 года
BrainSt0rm
2 / / 20.12.2006
У меня есть массив System.Object[] можно его каким образом конвертировать в другой array,
мне известный только 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
}

Нет исключениЯ!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог