none
Возможно ли по названию объекта определить его тип ? RRS feed

  • Вопрос

  • Может возможно такое по названию объекта определить его тип т.е является объект кнопкой, чекбоксом и т.д

    напремер создать функцию PlaySound и взависемости от того какой тип воспроизводить тот или иной звук.

    Private Function PlaySound (ByVal Obj As Object)
        'Obj= кнопка
        My.Computer.Audio.Play(My.Resources.Button, _
                    AudioPlayMode.Background)
        'Obj= чекбокс
        My.Computer.Audio.Play(My.Resources.CheckBox, _
                    AudioPlayMode.Background)
     End Function
    
    или это бред
    • Перемещено SachinW 1 октября 2010 г. 21:04 http://social.msdn.microsoft.com/Forums/ru-RU/beginnerru/threads (От:Начинающие разработчики)
    15 августа 2010 г. 11:10

Ответы

  • Да. Можно.

    Для этого есть технология Reflection. Тип опеределяется через метод GetType()

                Button btn = new Button();
                Object a = btn;
                MessageBox.Show(a.GetType().ToString());

     

    • Помечено в качестве ответа a.lisov 15 августа 2010 г. 14:11
    15 августа 2010 г. 12:57

Все ответы

  • Да. Можно.

    Для этого есть технология Reflection. Тип опеределяется через метод GetType()

                Button btn = new Button();
                Object a = btn;
                MessageBox.Show(a.GetType().ToString());

     

    • Помечено в качестве ответа a.lisov 15 августа 2010 г. 14:11
    15 августа 2010 г. 12:57
  • Да Спасибо работает

    Private Function PlaySound(ByVal Obj As Object)
        If Obj.GetType.ToString = _
        "System.Windows.Forms.Button" Then 'Obj= кнопка
          'My.Computer.Audio.Play(My.Resources.Button, _
          '      AudioPlayMode.Background)
          Return MessageBox.Show("Button")
        ElseIf Obj.GetType.ToString = _
        "System.Windows.Forms.CheckBox" Then 'Obj= чекбокс
          'My.Computer.Audio.Play(My.Resources.CheckBox, _
          '  AudioPlayMode.Background)
          Return MessageBox.Show("CheckBox")
        End If
        PlaySound = Nothing
      End Function
    
    15 августа 2010 г. 14:11