|
Ошибка при наследовании %Stream.FileCharacter
|
|||
---|---|---|---|
#18+
Пишу такой кодClass test.test Extends %Stream.FileCharacter { Method Write(data As %CacheString = "") As %Status { quit $$$OK } } При компиляции возникает ошибка Код: plaintext
Вопрос - почему? В классе %Stream.FileCharacter метода Write нет совсем, в предке %Stream.FileBinary метод Write имеет ровно такую же сигнатуру, что и в моем тестовом классе. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 07:18 |
|
Ошибка при наследовании %Stream.FileCharacter
|
|||
---|---|---|---|
#18+
konstantin_11Вопрос - почему? В классе %Stream.FileCharacter метода Write нет совсем, в предке %Stream.FileBinary метод Write имеет ровно такую же сигнатуру, что и в моем тестовом классе.Потому что [ OdbcType = LONGVARBINARY] у %Stream.FileBinary. Если бы был метод Write у %Stream.FileCharacter, то он тоже должен был бы иметь %Binary, а не %CacheString, но тогда и в Вашем классе Вас "попросили" бы использовать уже %String, а не %Binary, поскольку [ OdbcType = LONGVARCHAR ] у %Stream.FileCharacter. Классы для "поиграться"Class test.testB Extends %Stream.Object [ OdbcType = LONGVARBINARY ] { Method Write(data As %CacheString = "") As %Status { quit $$$OK } } Class test.testC Extends test.testB [ OdbcType = LONGVARCHAR ] { /* Method Write(data As %CacheString = "") As %Status { quit $$$OK } */ /* Method Write(data As %Binary = "") As %Status { quit $$$OK } */ } Class test.test Extends test.testC [ OdbcType = LONGVARCHAR ] { Method Write(data As %CacheString = "") As %Status { quit $$$OK } /* Method Write(data As %String = "") As %Status { quit $$$OK } */ } ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 09:56 |
|
|
start [/forum/topic.php?fid=39&msg=38910697&tid=1556703]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 422ms |
0 / 0 |