Недавно узнал что к полям класса можно обращаться как к листу, но только из страницы.
Например есть класс
Public class a
Public string b get set
На странице можно обратиться как a['b']
Прикольно. Реально съэкономил кучу времени.
Недавно узнал что к полям класса можно обращаться как к листу, но только из страницы. Например есть класс Public class a Public string b get set На странице можно обратиться как a['b'] Прикольно. Реально съэкономил кучу времени.
Уилдер, как это сокращает время?
Уилдер, как это сокращает время?
Если у тебя много полей в классе. Например ты получил данные откуда-то. И тебе это все нужно вывести на странице ты просто делаешь стринговый лист и выводишь в репите. В моем случае нужно было не просто вывести а еще навешать кое какую логику на каждое поле. А полей у меня было около 50. А потом клиент еще решил и поменять кое что. Так вот процесс изменения у меня занял минут 15 вместо 3-х часов тупой ручной работы.
[quote="yurybond"]Уилдер, как это сокращает время?[/quote] Если у тебя много полей в классе. Например ты получил данные откуда-то. И тебе это все нужно вывести на странице ты просто делаешь стринговый лист и выводишь в репите. В моем случае нужно было не просто вывести а еще навешать кое какую логику на каждое поле. А полей у меня было около 50. А потом клиент еще решил и поменять кое что. Так вот процесс изменения у меня занял минут 15 вместо 3-х часов тупой ручной работы.
[quote="wilder"]Например ты получил данные откуда-то. И тебе это все нужно вывести на странице ты просто делаешь стринговый лист и выводишь в репите. В моем случае нужно было не просто вывести а еще навешать кое какую логику на каждое поле. А полей у меня было около 50. А потом клиент еще решил и поменять кое что. Так вот процесс изменения у меня занял минут 15 вместо 3-х часов тупой ручной работы.[/quote] А это апекс классах работает? То что на vf страницах работает я знаю, сам часто пользуюсь таким способом, выбрать все филды из field set и по ним уже строится страница, а вот в апексе не пробьовал никогда)
Я в качестве ремарки хочу сказать, что очень не люблю всю эту динамику (когда ей злоупотребляют мотивируя это гибкостью и пр.). Она чревата ошибками в рантайме, которых можно было бы избежать на этапе компиляции.
[quote="Maxim Elets"]выбрать все филды из field set и по ним уже строится страница[/quote] Максим, я так понял это не к sObject относится а к классам. Судя по первому сообщению в ветке.[quote="wilder"]Недавно узнал что к полям класса можно обращаться как к листу, но только из страницы.[/quote] Я в качестве ремарки хочу сказать, что очень [b]не люблю[/b] всю эту [b]динамику[/b] (когда ей злоупотребляют мотивируя это гибкостью и пр.). Она чревата ошибками в рантайме, которых можно было бы избежать на этапе компиляции.
А, был невнимателен.
[quote="yurybond"]Максим, я так понял это не к sObject относится а к классам. Судя по первому сообщению в ветке.[/quote] А, был невнимателен. [quote="yurybond"]Я в качестве ремарки хочу сказать, что очень не люблю всю эту динамику (когда ей злоупотребляют мотивируя это гибкостью и пр.)[/quote] А тут я согласен)
[quote="yurybond"]Я в качестве ремарки хочу сказать, что очень не люблю всю эту динамику (когда ей злоупотребляют мотивируя это гибкостью и пр.). Она чревата ошибками в рантайме, которых можно было бы избежать на этапе компиляции.[/quote] О какой динамике можно говорить при отсутствии рефлексии?
Integer.MAX_VALUE || Integer.MIN_VALUE
Date.MAX_VALUE || Date.MIN_VALUE
etc
[quote="wilder"]Плюшки Salesforce[/quote] А плюшек-то совсем и нет. Даже нет элементарных констант: [code] Integer.MAX_VALUE || Integer.MIN_VALUE Date.MAX_VALUE || Date.MIN_VALUE etc [/code]
Предлагаю в этой теме говорит про приятные неожиданноси :)
Предлагаю в этой теме говорит про приятные неожиданноси :)
[quote="wilder"]Предлагаю в этой теме говорит про приятные неожиданноси :)[/quote] Можно создать дженерик интерфейс, но нельзя его реализовать)
Эта "плюшка" называется Dynamic Visualforce Binding. Обращаться можно не как к листу, а как к мапе и делать это надо с офигенной осторожностью, потому что если не дай боже где-то в мапе не окажется ключа, по которому вы пытаетесь достать элемент - страница упадёт с очень громким треском.
[quote="wilder"]Недавно узнал что к полям класса можно обращаться как к листу, но только из страницы. Например есть класс Public class a Public string b get set На странице можно обратиться как a['b'] Прикольно. Реально съэкономил кучу времени.[/quote] Эта "плюшка" называется Dynamic Visualforce Binding. Обращаться можно не как к листу, а как к мапе и делать это надо с офигенной осторожностью, потому что если не дай боже где-то в мапе не окажется ключа, по которому вы пытаетесь достать элемент - страница упадёт с очень громким треском.
Пожалуй самая весела плюшка
Пожалуй самая весела плюшка [img]http://storage1.static.itmages.ru/i/15/0415/h_1429104796_5517806_d427d31387.png[/img]
Да это все понятно. Просто порадовала сама возможность.
[quote="ilya leshchuk"]очень громким треском.[/quote] Да это все понятно. Просто порадовала сама возможность.
нормально так
[quote="Gres"]Пожалуй самая весела плюшка [img]http://storage1.static.itmages.ru/i/15/0415/h_1429104796_5517806_d427d31387.png[/img][/quote] нормально так
[quote="Den Brown"]нормально так[/quote] А еще фигуры всегда разные бывают)
Вот поэтому рефлекшен должен быть в контроллере, а не на странице.
[quote="ilya leshchuk"][quote="wilder"]Недавно узнал что к полям класса можно обращаться как к листу, но только из страницы. Например есть класс Public class a Public string b get set На странице можно обратиться как a['b'] Прикольно. Реально съэкономил кучу времени.[/quote] Эта "плюшка" называется Dynamic Visualforce Binding. Обращаться можно не как к листу, а как к мапе и делать это надо с офигенной осторожностью, потому что если не дай боже где-то в мапе не окажется ключа, по которому вы пытаетесь достать элемент - страница упадёт с очень громким треском.[/quote] Вот поэтому рефлекшен должен быть в контроллере, а не на странице.
Пожалуй самая весела плюшка
[quote="Gres"]Пожалуй самая весела плюшка [img]http://storage1.static.itmages.ru/i/15/0415/h_1429104796_5517806_d427d31387.png[/img][/quote] Офигенская картинка - часто ее наблюдал, тоже хотел скриншот сделать, просто в это время очень отвественный момент и просто не до скриншотов было :D