Приведение типов

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Приведение типов

Сообщение FireFenix » 15.07.2010 (Чт) 21:30

Собсно возможно привести объект к типу указанному по ссылке?

т.е. вызов приведения
Код: Выделить всё
DirectCast(MyObject, String)

но я хочу, чтобы работало
Код: Выделить всё
Dim Type as System.Type
Dim TextBox as New TextBox

Public Function GetValue() as Object
     Return DirectCast(TextBox.Text, Type)
End Function

но вредная студия противится передачи типа через переменную, только напрямую :(

UPD: Поправлена ошибочка в примере TextBox -> TextBox.Text
Последний раз редактировалось FireFenix 15.07.2010 (Чт) 21:57, всего редактировалось 3 раз(а).
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Приведение типов

Сообщение FireFenix » 15.07.2010 (Чт) 21:37

Ура... Еле нагуглил, только в 1м форуме нашёл нужную функу
Код: Выделить всё
Convert.ChangeType

Хотя эти сволочи могли бы сделать в DirectCast и TryCast передачу типа по ссылке :twisted:
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Приведение типов

Сообщение Joo » 15.07.2010 (Чт) 21:43

FireFenix писал(а):
Код: Выделить всё
Public Function GetValue() as Object
     Return DirectCast(TextBox, Type)
End Function



Код выглядит довольно глупо.

Return объекта типа Type в функции которая должна вернуть Object, тогда уж:
Код: Выделить всё
Public Function GetValue() as Object
     Return DirectCast(TextBox, Object)
End Function
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Приведение типов

Сообщение FireFenix » 15.07.2010 (Чт) 21:55

Не, возврат простого объекта это легко, но у меня другая задача
Т.е. смысл вообще теряется, тогда уже нужно было Return TextBox.Text

Я сделал класс, который описывает некоторое свойство и отображает как некоторый контрол
Т.к. к примеру TextBox имеет атрибут Text as String, а класс реализует свойство типа Integer, то мне нужно преобразовать типы, но я заранее не знаю какой тип реализует класс
Но т.к. класс может реализовывать любое свойство, то конечный тип - Object, а приведение String -> Integer для приведения введённых данных к типу класса

Вобщем как-то так :)
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24

    TopList