Как динамически определить тип переменной интерфейсного типа
От: Аноним  
Дата: 21.09.11 06:34
Оценка:
Есть интерфейсы

public interface IBaseItem {}
public interface IChildItem<T> : IBaseItem
{
   T Value { get; set; }
}


Мне нужно получить тип и передать в сторонний метод тип такого вида

Type t=typeof(variable.GetType());
Type iType= typeof(IChildItem<t>);

Как такое сделать?
Re: Как динамически определить тип переменной интерфейсного
От: Jack128  
Дата: 21.09.11 06:35
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Мне нужно получить тип и передать в сторонний метод тип такого вида


А>Type t=typeof(variable.GetType());

А>Type iType= typeof(IChildItem<t>);

А>Как такое сделать?


typeof(IChildType<>).MakeGenericType(t)
Re[2]: Как динамически определить тип переменной интерфейсно
От: Аноним  
Дата: 21.09.11 07:45
Оценка:
А>>Мне нужно получить тип и передать в сторонний метод тип такого вида

А>>Type t=typeof(variable.GetType());

А>>Type iType= typeof(IChildItem<t>);

А>>Как такое сделать?


J>typeof(IChildType<>).MakeGenericType(t)

Спасибо. А как получить значение свойства(объявленого в интерфейсе) объекта, реализующего интерфейс через ссылку интерфейса?
Хочется такое

 class Program
    {
        public interface IBase
        {
            string Prop { get; set; }
        }

        public class MyBase:IBase
        {
           public string Prop { get; set; }
        }

        static void Main(string[] args)
        {
            IBase b = new MyBase();
            b.Prop = "ederferfr";
            Type t = typeof (IBase);
            PropertyInfo prop = t.GetProperty ("Prop");
            string s = prop.GetValue(b);
            System.Console.WriteLine(s);
            System.Console.ReadLine();
        }
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.