none
Как узнать на какой обеъкт ссылаюсь??????? RRS feed

  • Вопрос

  • у меня есть конструктор, он принимает  ссылку на объект любого типа, как мне узнать на какой объект ссылаюсь???

    class Vizualizator{
        public Vizualizator(Object ob)
    
        { 
              //код для вытягивания объекта по ссылке ob
    
             Type t =  ссылка на объект класса UserControl.GetType();
             
             MethodsInfo[] = t.GetMethods();
         }
    
    
    ////////////////////////////
           UserControl us = new UserControl (); 
           Vizualizator viz = new Vizualizator (us) //заранее тип аргумента не известен
           }
    За ранее благадорю,я тут новичек не судите строго))!

    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:54 MSDN Forums Consolidation (От:Visual C#)
    24 октября 2009 г. 10:12

Ответы

  • Используйте

    ob.GetType().UnderlyingSystemType

    - Dmitri Nesteruk
    • Предложено в качестве ответа I.Vorontsov 27 октября 2009 г. 11:18
    • Помечено в качестве ответа I.Vorontsov 2 ноября 2009 г. 15:00
    24 октября 2009 г. 12:30
  • Если набор типов конечен, то можно сравнить твой тип с нужными.
    Например, у меня есть код типа такого:
    Type t = ob.GetType();
    if (ob is T1)
    {
    }
    else if (t.IsEnum)
    {
    }
    else if (t == typeof(string))
    {
    }
    else if (t == typeof(int))
    {
    }
    • Предложено в качестве ответа I.Vorontsov 27 октября 2009 г. 11:18
    • Помечено в качестве ответа I.Vorontsov 2 ноября 2009 г. 15:00
    24 октября 2009 г. 22:48

Все ответы

  • Используйте

    ob.GetType().UnderlyingSystemType

    - Dmitri Nesteruk
    • Предложено в качестве ответа I.Vorontsov 27 октября 2009 г. 11:18
    • Помечено в качестве ответа I.Vorontsov 2 ноября 2009 г. 15:00
    24 октября 2009 г. 12:30
  • Если набор типов конечен, то можно сравнить твой тип с нужными.
    Например, у меня есть код типа такого:
    Type t = ob.GetType();
    if (ob is T1)
    {
    }
    else if (t.IsEnum)
    {
    }
    else if (t == typeof(string))
    {
    }
    else if (t == typeof(int))
    {
    }
    • Предложено в качестве ответа I.Vorontsov 27 октября 2009 г. 11:18
    • Помечено в качестве ответа I.Vorontsov 2 ноября 2009 г. 15:00
    24 октября 2009 г. 22:48