|
c# Func generic
|
|||
---|---|---|---|
#18+
Здравствуйте! Хочу задать вопрос из любопытства. Просто очень интересно возможна ли данная реализация. Имеется дженерик функция: Код: c# 1.
Можно ли данную функцию объявить средствами Func<T>, типа этого: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 10:44 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
NechtoИмеется дженерик функция: Код: c# 1.
не имеется, она должна возвращать значение NechtoМожно ли данную функцию объявить средствами Func<T>, типа этого: Код: c# 1.
типа этого - это вот так? Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 10:53 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Shocker.ProNechtoИмеется дженерик функция: Код: c# 1.
не имеется, она должна возвращать значение NechtoМожно ли данную функцию объявить средствами Func<T>, типа этого: Код: c# 1.
типа этого - это вот так? Код: c# 1.
Спасибо! А то были сомнения в невозможности реализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:05 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Я так и не понял, за что спасибо, ну да ладно ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:17 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Вообще то как то так. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:25 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Func это указатель на метод, а не сам метод, не понял, что хочет автор? вернуть указатель на функцию? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 11:57 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Roman MejtesFunc это указатель на метод, а не сам метод, не понял, что хочет автор? вернуть указатель на функцию? Func - обобщенный делегат с параметрами ковариантного ковариантного типа и контрвариантным возвращаемым значением. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 13:28 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Как же так??? А как же я??? Допустим, гадо написать функцию, которая выполняет какую-нибудь логическую операцию над двумя операндами в соответствии с той операцией, которая занесена в строку. Я попытался сделать как ниже, но так не получилось. Выдаётся сообщение "Оператор вида “>” не может применяться к операндам вида <T> и <T>". Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Собственно, проблема в том, что generic имеет тут явные ограничения не может применяться для сравнения объектов. И поэтому придётся корячиться и писать что-то вроде: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Так? Так! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 15:16 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Вот не надо вот методом тыка все делать. Во-первых, изучите разницу между ссылочными типами и структурами Во-вторых, изучите компараторы, интерфейс IComparable и т.п. Это слишком длинно, чтобы изложить в одном посте, но в любом учебнике это есть. После прочтения вопросы отпадут. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 15:29 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
EV.P Так? Так! Согласен, разработчики C# могли бы разрешить использование операторов в таких случаях или в качестве ограничений на generic аргументы. И вообще этот язык сейчас используют только старые и ленивые программисты, которые не в состоянии научиться новому и прогрессивному! Например в самом современном и прогрессивном языке F# делают так! Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 16:10 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВ, Странно, но у меня что-то стал глючить сам компилятор .Net. Вот код, который прекрасно компилируется и даже кое-как работает! Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Я думаю, что проблема тут в том, что .Net предусматривает неявную типизацию, определяемую ключевым словом var, которое пытались сделать полем класса. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 16:20 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
EV.P, Какие C# Compiler Options использовал при компиляции? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 16:27 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВRoman MejtesFunc это указатель на метод, а не сам метод, не понял, что хочет автор? вернуть указатель на функцию? Func - обобщенный делегат с параметрами ковариантного ковариантного типа и контрвариантным возвращаемым значением. ну да, а делегат значит не указатель не метод? :) просто если человек просит о помощи, слово делегат, вызывает у него еще 100500 вопросов ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:05 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Roman Mejtesпросто если человек просит о помощи, слово делегат, вызывает у него еще 100500 вопросов С простым указателем на метод такое например проканает? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 13:06 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВEV.PТак? Так! Согласен, разработчики C# могли бы разрешить использование операторов в таких случаях или в качестве ограничений на generic аргументы. И вообще этот язык сейчас используют только старые и ленивые программисты, которые не в состоянии научиться новому и прогрессивному! Например в самом современном и прогрессивном языке F# делают так! Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Евгений, и в чем же его F# прогресcивность? Строгая типизация, так это уже и в паскале было. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2015, 12:12 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Nechto Евгений, и в чем же его F# прогресcивность? Строгая типизация, так это уже и в паскале было. При чем тут строгая типизация? В F# более мощная система типов и еще много всяких вкусностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 11:41 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВNechtoЕвгений, и в чем же его F# прогресcивность? Строгая типизация, так это уже и в паскале было. При чем тут строгая типизация? В F# более мощная система типов и еще много всяких вкусностей. Синтаксис языка какой-то не привычный. Хотя это дело привычки. Нужно будет попробовать, его в действии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 12:34 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВ... использование операторов ...Макросы ещё надо как в C/C++, чтобы все окончательно запутались. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 12:38 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Алексей КМакросы ещё надо как в C/C++, чтобы все окончательно запутались. Нафига макросы, когда можно нормальный DSL делать, как тут например . ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 13:12 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВАлексей КМакросы ещё надо как в C/C++, чтобы все окончательно запутались. Нафига макросы, когда можно нормальный DSL делать, как тут например . хабр авторНачнем с того, что обсудим что же такое DSL. DSL – доменно специфичный язык – то есть способ описания той или иной предметной специфики (которая часто связана с конкретной индустрией) с помощью такого языка, который могут понять не только разработчики, но и эксперты в предметной области. Важно в этом языке то, что те кто его используют не должны думать о фигурных скобочках, точках с запятой и прочих прелестях программирования. То есть у них должна быть возможность писать на «простом английском» (русском, японском, и т.д.)Опять несбыточная мечта о программировании непрограммистами. Неудобного SQL и без того хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 14:12 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Алексей КОпять несбыточная мечта о программировании непрограммистами. Неудобного SQL и без того хватает. На SQL программируют непрограммисты? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 15:15 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныАлексей КОпять несбыточная мечта о программировании непрограммистами. Неудобного SQL и без того хватает. На SQL программируют непрограммисты?По факту нет. Но цели при создании были такими же. Вики : авторЦелью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 15:18 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
зы: История людей ничему не учит. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2015, 15:19 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
Алексей КПо факту нет. Но цели при создании были такими же. Ну и само определение программиста размыто. Для кого то это всякий, кто может переставить Windows, для меня это люди масштаба Кодда, Кнута, Хесберга или Страуструпа со Степановым. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 11:39 |
|
c# Func generic
|
|||
---|---|---|---|
#18+
ЕвгенийВАлексей КПо факту нет. Но цели при создании были такими же. Ну и само определение программиста размыто. Для кого то это всякий, кто может переставить Windows, для меня это люди масштаба Кодда, Кнута, Хесберга или Страуструпа со Степановым. при этом совсем не факт, что они себя при этом считали программистами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 12:00 |
|
|
start [/forum/topic.php?fid=20&msg=39082514&tid=1400841]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 149ms |
0 / 0 |