![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Может ли свойство возвращать разные типы данных?
Darkwing © (2005-08-25 09:55:00)Есть класс
type
TFieldType = (fType1, fType2, fType3)
TMyClass = Class
FieldType: TFieldType;
pData: Pointer;
property Data: ?
end;
Pointer Data, в зависимости от значения поля FieldType, может указывать на данные различного типа. Как правильно описать свойство Data, которое может иметь любой из типов данных?
Alexander Panov (2005-08-25 10:15:00) [1]Darkwing © (25.08.05 9:55)
type
TFieldType = (fType1, fType2, fType3)
TMyClass = Class
FieldType: TFieldType;
pData: Pointer;
function Data: String; overload;
function Data: Integer; overload;
end; OldNaum © Variant ? OldNaum © синхронно ) но вариант Александра мне даже больше нравится ) Alexander Panov © Только забыл добавить, что функция должна быть с параметром:
typeReindeer Moss Eater © И что, свойство начало возвращать данные разных типов?
TFieldType = (fType1, fType2, fType3)
TMyClass = Class
FieldType: TFieldType;
pData: Pointer;
function Data(Parm: String): String; overload;
function Data(Parm: Integer): Integer; overload;
end;
Оно вам возвращает вариант и только вариант.
А так я с таким же успехом могу сказать, что мое строковое свойство возвращает данные разных типов. Leonid Troyanovsky ©
> Reindeer Moss Eater © (25.08.05 10:23) [7]
> И что, свойство начало возвращать данные разных типов?
> Оно вам возвращает вариант и только вариант.
Варианты разных типов.
--
Regards, LVT. Reindeer Moss Eater © Вариант - это ровно один тип и не больше. TUser © Сделать их наследниками одного базоваого класса. Darkwing © Спасибо за помощь, господа!
Мне полностью подходит 6.
--=ХР=-- (2005-08-25 10:14:00) [2]variant
Reindeer Moss Eater (2005-08-25 10:01:00) [3]Свойство всегда будет одного единственного типа.