powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Задачка на профпригодность
463 сообщений из 463, показаны все 19 страниц
Задачка на профпригодность
    #36670146
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
List<string> strings = new List<string>();
new Derived().Foo(strings);

Какой метод выполнится, со Strings или с Objects?

Base,Derived
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class Base
{
    public void Foo(IEnumerable<string> strings)
    {
        Console.WriteLine("Strings");
    }
}

class Derived : Base
{
    public void Foo(IEnumerable<object> objects)
    {
        Console.WriteLine("Objects");
    }
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670154
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Objects, а как иначе?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670159
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxМСУ,

Objects, а как иначе?
неть) по типу аргумента выберет метод
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670163
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще варианты :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670164
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashukнеть) по типу аргумента выберет метод
А вы скомпилируйте! :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670167
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexxxxx,

Срабатывает обжект. А в чем подвох?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670171
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxА вы скомпилируйте! :)
лень..конец рабоДня...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670174
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да тут даже подвоха вообщем то нет насколько я понял.
Конечно Strings.
Помнится была поинтересней задача с наследованием и переопределением с new.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670181
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxLexxxxx,
Срабатывает обжект. А в чем подвох?
Denis.
да тут даже подвоха вообщем то нет насколько я понял.
Конечно Strings.

нипанимать)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670184
Sashuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЕще варианты :)
не томи Шановный ;)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670185
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дениска, двойка тебе. Думай головой, а не студией со своей любимой клавишей F5.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670191
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashukМСУЕще варианты :)
не томи Шановный ;)
Ладно, я поехал домой, конец рабочего дня. Вчерером зайду и если никто так и не ответит на вопрос, открою тайну.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670192
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.да тут даже подвоха вообщем то нет насколько я понял.
Конечно Strings.
Помнится была поинтересней задача с наследованием и переопределением с new.
Foo не виртуальный.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670200
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, я думал , что будет ошибка в ран-тайме )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670207
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорDenis.да тут даже подвоха вообщем то нет насколько я понял.
Конечно Strings.
Помнится была поинтересней задача с наследованием и переопределением с new.
Foo не виртуальный.
Хоть виртуальный, хоть не виртуальный.
Функции то с разными сигнатурами, чего от виртуальности изменится?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670213
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный ЛохХоть виртуальный, хоть не виртуальный.
Функции то с разными сигнатурами, чего от виртуальности изменится?
угу. но в пятницу можно)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670215
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭЭ. Вопрос на версию .нет чтоль?
Ну чтожь, сразу и не сооброзишь).
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670221
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.ЭЭ. Вопрос на версию .нет чтоль?
Разумеется.
Ковариация и контрвариация в универсальных шаблонах
.Net Framework 4.0
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670224
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный ЛохDenis.ЭЭ. Вопрос на версию .нет чтоль?
Разумеется.
Ковариация и контрвариация в универсальных шаблонах
.Net Framework 4.0
Ну да. Вопрос обманывает своей простотой. Хороший вопрос.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670236
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё задачка, совсем простая

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
using System;

class A
{
  public static object F(ref object p) 
  {
    // ...
  }
}

Не используя вообще никаких локальных и посторонних переменных, F должен обнуллить p и вернуть ее старое (переданное) значение. Доп. методы делать нельзя.
В рамках версии .NET 1.0.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670239
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечВ рамках версии .NET 1.0.Имеется в виду, код в рамках .NET 1.0.
В самом .NET 1.0 не проверял за неименеем оного
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670252
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 public static object F(ref object p)
        {
            try
            {
                return 1 / Math.Min(0, int.MaxValue);
            }
            catch (Exception ex)
            {
                ex.Data["myData"] = p;
                p = null;
                return ex.Data["myData"];
            }
        }

))))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670256
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.
Код: plaintext
... Exception ex ...

))))
авторНе используя вообще никаких локальных и посторонних переменных)))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670261
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,

рекурсия?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670271
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Яростный Меч,

рекурсия?Пробуй. Но в твоем распоряжении по прежнему только физически единственный object p
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670307
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim p As Integer =  5 

        Dim r As Integer = F(p)
    End Sub

    Private Function F(ByRef p As Integer) As Integer
        Try
            Return p
        Finally
            p =  0 
        End Try

    End Function
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670319
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudio,

решил! )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670446
Halfling
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Код: plaintext
1.
List<string> strings = new List<string>();
new Derived().Foo(strings);

Какой метод выполнится, со Strings или с Objects?

]
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
class Base
{
    public void Foo(IEnumerable<string> strings)
    {
        Console.WriteLine("Strings");
    }
}

class Derived : Base
{
    public void Foo(IEnumerable<object> objects)
    {
        Console.WriteLine("Objects");
    }
}



msdnПостроение объектов базового класса всегда выполняется до любого производного класса. Так, конструктор базового класса выполняется перед конструктором производного класса. Если базовый класс имеет несколько конструкторов, производный класс может выбрать вызываемый конструктор.
тынц

Сначала проверил, потом полез на msdn, возможно притянул за уши.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670447
Halfling
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Halfling, ответ забыл написать: Strings
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670464
Пьяный Лох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Halfling, при чём здесь конструкторы то?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670473
Halfling
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный Лох, попытался объяснить аналогичным случаем... Хотя согласен, нельзя утверждать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670496
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HalflingHalfling, ответ забыл написать: Strings
Все таки компилировать не пробовали! :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670502
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxHalflingHalfling, ответ забыл написать: Strings
Все таки компилировать не пробовали! :)
Ну вообще, по идее, у большенства стринг и напишет. Не многие уже в 10 студии под .нет 4 пишут.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670513
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.Ну вообще, по идее, у большенства стринг и напишет. Не многие уже в 10 студии под .нет 4 пишут.
Ага! Значит подвох все таки в версии фреймворка?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670516
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxDenis.Ну вообще, по идее, у большенства стринг и напишет. Не многие уже в 10 студии под .нет 4 пишут.
Ага! Значит подвох все таки в версии фреймворка?
Ну конечно
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670528
Halfling
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis., первый раз на 2м фреймворке пробовал.
В 10 студии написал объект.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670679
Фотография Вот те на
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный ЛохРазумеется.
Ковариация и контрвариация в универсальных шаблонах
.Net Framework 4.0
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36670798
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пьяный ЛохDenis.ЭЭ. Вопрос на версию .нет чтоль?
Разумеется.
Ковариация и контрвариация в универсальных шаблонах
.Net Framework 4.0
Пятёрка! :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36720047
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, кто осилит такую задачку по переопределению атрибутов? :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36725362
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а пцацэ )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #36725948
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Буч скажет про переопределению атрибутов?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Задачка на профпригодность
    #38487294
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разомнём моск. Хочу красивый универсальный эвент мейкер, с помощью которого можно прикручивать события.

Что-то типа того:

...
Код: c#
1.
2.
3.
4.
void MakeEvent(object sender, EventArgs e, string title)
{
    ((Button)sender).Text = title;
}



Код: c#
1.
2.
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");



Кто что предложит?

P.S. Сразу скажу, такой мейкер я могу написать в одну строчку.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487306
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу скажу, что за вот такие предложения сразу на кол

Код: c#
1.
2.
3.
4.
public class CustomEventArgs : EventArgs
{
    public string Title;
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487311
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
button1.Click += (s, e) => button1.Text = "Текст1";
button2.Click += (s, e) => button2.Text = "Текст2";
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487324
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Код: c#
1.
2.
button1.Click += (s, e) => button1.Text = "Текст1";
button2.Click += (s, e) => button2.Text = "Текст2";



Я же обозначил сигнатуру :)

Код: c#
1.
MakeEvent("Текст1")



Код: c#
1.
2.
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");



Представь, что там сложна логика и нужно это всё красиво обернуть в функцию.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487363
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
EventHandler MakeEvent(string title)
{
    return (s, e) => ((Button)s).Text = title;
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487368
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

что-то я совсем задачу не понял.

void MakeEvent(object sender, EventArgs e, string title)

button1.Click += MakeEvent("Текст1");

это как?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487371
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

и в какое место надо запихнуть тяжелую логику? покажи место.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487403
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Код: c#
1.
2.
3.
4.
EventHandler MakeEvent(string title)
{
    return (s, e) => ((Button)s).Text = title;
}



Лучше, но всё-равно не то :) Без отдельных классов, без отдельных членов класса. Сразу на лету в переменной определяю мейкер и по месту намапливаю его на евент хэндлер.

hVosttэто как?
По-моему, задача внятно сформулирована. Нужен мейкер с методом для инициализации моих 100500 эвентхэндлеров.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487458
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где матёрые волки дотнета?

Вам бы только посраться...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487486
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПо-моему, задача внятно сформулирована. Нужен мейкер с методом для инициализации моих 100500 эвентхэндлеров.

ну хз. всё равно не понял что ты хочешь.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487501
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttну хз. всё равно не понял что ты хочешь.


Алексей уже практически сделал, но теперь осталось его функцию описать в переменной.

Хочу нечто такое:

Код: c#
1.
2.
3.
MakeEvent = ... ?
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487521
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУХочу нечто такое:

Код: c#
1.
2.
3.
MakeEvent = ... ?
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
EventHandler MakeEvent(string title)
{
    // Тут могла бы быть лютая логика.

    return (s, e) => ((Button)s).Text = title;
}

.............

var h = MakeEvent("Типичная задача из непонятого.");
button1.Click += h;
button2.Click += h;
...
button100500.Click += h;

Не?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487525
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНужен мейкер с методом для инициализации моих 100500 эвентхэндлеров.Тут нужно 1005 кодеров. По 100 эвентхэндлеров на брата...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487526
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Клютая логика

...МСУтакой мейкер я могу написать в одну строчку

МСУБез отдельных классов, без отдельных членов класса

МСУАлексей уже практически сделал, но теперь осталось его функцию описать в переменной
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487528
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУНужен мейкер с методом для инициализации моих 100500 эвентхэндлеров.Тут нужно 1005 кодеров. По 100 эвентхэндлеров на брата...
Не прокормлю всех Проще в одной строке написать мейкер:

Код: c#
1.
2.
3.
var MakeEvent = { жуткий код }
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487546
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Тут нужно 1005 кодеров. По 100 эвентхэндлеров на брата...
Не прокормлю всех Проще в одной строке написать мейкер:

Код: c#
1.
2.
3.
var MakeEvent = { жуткий код }
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");

Func<string, EventHandler> MakeEvent это жостко. :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487578
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К]Func<string, EventHandler> MakeEvent это жостко. :-)
Ну, ну, я вижу какие-то потуги... Не получается, что-ли родить окончательное решение?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487582
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К]Func<string, EventHandler> MakeEvent это жостко. :-)
Ну, ну, я вижу какие-то потуги... Не получается, что-ли родить окончательное решение?
Код: c#
1.
Func<string, EventHandler> MakeEvent = () => "Текст 1";

Так?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487585
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Код: c#
1.
Func<string, EventHandler> MakeEvent = () => "Текст 1";

Так?
Не компилится. Тужься, дружище!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487591
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или так?
Код: c#
1.
Func<string, EventHandler> MakeEvent = () => { return "Текст 1"; };



А так?
Код: c#
1.
Func<string, EventHandler> MakeEvent =  t => (s, e) => ((Button)s).Text = t;
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487592
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxSashukнеть) по типу аргумента выберет метод
А вы скомпилируйте! :)
LexxxxxLexxxxx,

Срабатывает обжект. А в чем подвох?
Я где-то в МСДНе об этом читал. Забыл, где. Наверняка где-нибудь в примечаниях мелким шрифтом.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487596
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexxxxxDenis.Ну вообще, по идее, у большенства стринг и напишет. Не многие уже в 10 студии под .нет 4 пишут.
Ага! Значит подвох все таки в версии фреймворка?
Так нечестно!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487599
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Молодец, Алексей, пятёрка тебе :)

Конечный сахар:

Код: c#
1.
2.
3.
Func<string, EventHandler> MakeEvent = (title) => (sender, e) => { ((Button)sender).Text = title; };
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487613
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМолодец, Алексей, пятёрка тебе :)

Конечный сахар:

Код: c#
1.
2.
3.
Func<string, EventHandler> MakeEvent = (title) => (sender, e) => { ((Button)sender).Text = title; };
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");


А как защититься, чтобы этот MakeEvent применяли только к баттону и чтобы максимум, где ошибка вылазила - это во время компиляции, а не во время выполнения?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487622
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А как защититься, чтобы этот MakeEvent применяли только к баттону и чтобы максимум, где ошибка вылазила - это во время компиляции, а не во время выполнения?
Это EventHandler, а не дженерик.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487644
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320А как защититься, чтобы этот MakeEvent применяли только к баттону и чтобы максимум, где ошибка вылазила - это во время компиляции, а не во время выполнения?
Это EventHandler, а не дженерик.Поэтому лучше как-то так:
Код: c#
1.
2.
3.
4.
5.
6.
void AddHandler(Button b, string t)
{
    // Тут дикая логика

    b.Click += (s, e) => b.Text = t;
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487664
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКонечный сахар:
МСУПредставь, что там сложна логика и нужно это всё красиво обернуть в функцию.
Не знаю, как там у вас, а у нас за сложную объемную логику на лямбдах бьют тупым тяжелым предметом. Как минимум в рамках борьбы за читаемость кода.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487667
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Это EventHandler, а не дженерик.Поэтому лучше как-то так:
Код: c#
1.
2.
3.
4.
5.
6.
void AddHandler(Button b, string t)
{
    // Тут дикая логика

    b.Click += (s, e) => b.Text = t;
}


Ну а этот AddHandler где должен быть? Я к тому, что от "красивый и универсальный эвент мейкер", наверное, уже ничего не осталось. Осталось "только к баттону" и "только в этом классе". Я привык, что "красивый и универсальный" - это что-то, связанное с дженериками и расширяющими методами.

Я мало во что въехал, что тут МСУ напросил (список требований где-то выше), но мне кажется, что вот такие вот выкрутасы с кодом ведут к тому, что кроме МСУ с ним нормально работать и его поддерживать мало кто сможет. Потом приходят всякие джуниоры на чужой проект и не могут понять, что как работает. Лучше уж меньше выкрутасов и экстремального программирования, больше строк с комментариями, зато понятнее и поддерживать легче.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487671
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНе знаю, как там у вас, а у нас за сложную объемную логику на лямбдах бьют тупым тяжелым предметом. Как минимум в рамках борьбы за читаемость кода.
См. название топика :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487680
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Я к тому, что от "красивый и универсальный эвент мейкер", наверное, уже ничего не осталось. Осталось "только к баттону" и "только в этом классе". Я привык, что "красивый и универсальный" - это что-то, связанное с дженериками и расширяющими методами.

Я мало во что въехал, что тут МСУ напросил (список требований где-то выше), но мне кажется, что вот такие вот выкрутасы с кодом ведут к тому, что кроме МСУ с ним нормально работать и его поддерживать мало кто сможет. Потом приходят всякие джуниоры на чужой проект и не могут понять, что как работает. Лучше уж меньше выкрутасов и экстремального программирования, больше строк с комментариями, зато понятнее и поддерживать легче.Код должен быть написан так, чтобы комментарии были не нужны. Добавлять их только в крайнем случае.

"Выкрутасы" в коде пусть будут. Но они должны быть в рамках принятых в команде стандартов.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487688
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныМСУКонечный сахар:
МСУПредставь, что там сложна логика и нужно это всё красиво обернуть в функцию.
Не знаю, как там у вас, а у нас за сложную объемную логику на лямбдах бьют тупым тяжелым предметом. Как минимум в рамках борьбы за читаемость кода.
Не понимаю. Если был вопрос в отладке, то понятно - не у всех LINQ Pad ещё стоит и вообще. Но когда людям тупо лень учить Линк, лямбды и выражения, то это уже проблемы этих людей, не? Какие, нахрен, они сеньоры, если не могут разобрать простую лямбду джуниора (а джуниор пытается быть в треде новых фич и мод).

Моя гордость (надулся):

Я уже и сам не помню, что эта штука делает - попробуйте понять из кода. Завтра вспомню - скажу.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
MyModel.Recommendations =
    preparation.Recommendations
    .OrderBy<DBLibrary.Recommendation, ICollection<DBLibrary.Group>>(
        r => r.Groups,
        Comparer<ICollection<DBLibrary.Group>>.Create(
            (x, y) =>
                x
                .OrderBy(g => g.Name)
                .FirstOrDefault()
                .Name
                .CompareTo(
                    y
                    .OrderBy(g => g.Name)
                    .FirstOrDefault()
                    .Name)))
    .Select(r => new RecommendationForModel()
    {
    	...
    })
    .ToList()
    .AsReadOnly();

...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487689
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

ппц...
это за подобные задачки "с решением в одну строчку кода" надо ставить 5+ и отправлять на пожизненную пенсию
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487697
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Моя гордость (надулся)
Пфф. Большая и сложная - это полстраницы кода минимум. С парой десяток локальных переменных внутри lambda scope, и еще стольки же в closure. Видел такое. Видимо, это было следствие эйфории от первого знакомства с лямбдами.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487700
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

ппц...
это за подобные задачки "с решением в одну строчку кода" надо ставить 5+ и отправлять на пожизненную пенсию
Больше всего в подобных задачках подкупает "в одну строчку кода". Никто сразу не думает, что в одной строчке может быть трёхтонная лямбда, все начинают перебирать в голове простейшие решения. Это как на Хабре была серия статей про игрульки на JS в 30 строк кода.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487705
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныuser7320Моя гордость (надулся)
Пфф. Большая и сложная - это полстраницы кода минимум. С парой десяток локальных переменных внутри lambda scope, и еще стольки же в closure. Видел такое. Видимо, это было следствие эйфории от первого знакомства с лямбдами.
Т. е. за эту мою лямбду бить не будут, да? Ну ладно. А то я в другой теме попроще лямбду показал, а мне уже угрожать начали, хотя я этого человека даже не знаю. Вот что лямбды с людьми делают.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487710
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Моя гордость (надулся):

Я уже и сам не помню, что эта штука делает - попробуйте понять из кода. Завтра вспомню - скажу.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
MyModel.Recommendations =
    preparation.Recommendations
    .OrderBy<DBLibrary.Recommendation, ICollection<DBLibrary.Group>>(
        r => r.Groups,
        Comparer<ICollection<DBLibrary.Group>>.Create(
            (x, y) =>
                x
                .OrderBy(g => g.Name)
                .FirstOrDefault()
                .Name
                .CompareTo(
                    y
                    .OrderBy(g => g.Name)
                    .FirstOrDefault()
                    .Name)))
    .Select(r => new RecommendationForModel()
    {
    	...
    })
    .ToList()
    .AsReadOnly();

Тут пример жосче. :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487713
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

ппц...
это за подобные задачки "с решением в одну строчку кода" надо ставить 5+ и отправлять на пожизненную пенсию
Обоснования?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487724
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttМСУ,

ппц...
это за подобные задачки "с решением в одну строчку кода" надо ставить 5+ и отправлять на пожизненную пенсию
Обоснования?Бобровской против!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487727
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КБобровской Бобровский против!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487734
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМолодец, Алексей, пятёрка тебе :)

Конечный сахар:

Код: c#
1.
2.
3.
Func<string, EventHandler> MakeEvent = (title) => (sender, e) => { ((Button)sender).Text = title; };
button1.Click += MakeEvent("Текст1");
button2.Click += MakeEvent("Текст2");

Перевод на VB рвет шаблон и форматтер:

Код: vbnet
1.
2.
3.
        Dim MakeEvent As Func(Of String, EventHandler) = Function(title) Function(sender, e)
                                                                             DirectCast(sender, Button).Text = title
                                                                         End Function
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487763
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttМСУ,

ппц...
это за подобные задачки "с решением в одну строчку кода" надо ставить 5+ и отправлять на пожизненную пенсию
Обоснования?

потому что для решения таких задач надо призывать Капитана Очевидность. а тех кто жётско капитанит, надо отправлять на старпёрскую скамейку бабулек-пенсионерок ))

задачка млин... от гордости-то не распирает?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487768
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, задачка копеечная, о какой гордости речь? :)

Или ты опять мне хочешь напомнить, что лямбда компилируется в... Expression
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487806
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Сон Веры Павловныпропущено...

Пфф. Большая и сложная - это полстраницы кода минимум. С парой десяток локальных переменных внутри lambda scope, и еще стольки же в closure. Видел такое. Видимо, это было следствие эйфории от первого знакомства с лямбдами.
Т. е. за эту мою лямбду бить не будут, да? Ну ладно. А то я в другой теме попроще лямбду показал, а мне уже угрожать начали, хотя я этого человека даже не знаю. Вот что лямбды с людьми делают.Ты же сам себя бить и будешь, через годик-другой
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38487810
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Сон Веры Павловныпропущено...

Пфф. Большая и сложная - это полстраницы кода минимум. С парой десяток локальных переменных внутри lambda scope, и еще стольки же в closure. Видел такое. Видимо, это было следствие эйфории от первого знакомства с лямбдами.
Т. е. за эту мою лямбду бить не будут, да? Ну ладно. А то я в другой теме попроще лямбду показал, а мне уже угрожать начали, хотя я этого человека даже не знаю. Вот что лямбды с людьми делают.
забыл добавить AsParallel(), без него нынче некруто!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488134
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...

Вот ещё задачка на профпригодность, чтоб поразмять это самое, ну вы поняли.

Есть два числа N и M. Надо сделать универсальный складыватель. ЧТобы не складывать 100500 раз. Нельзя пользоваться классами. Время пошло

П.С. Лично я такой складыватель реализовал в пол строчки. Но это я...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488143
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt...

Вот ещё задачка на профпригодность, чтоб поразмять это самое, ну вы поняли.

Есть два числа N и M. Надо сделать универсальный складыватель. ЧТобы не складывать 100500 раз. Нельзя пользоваться классами. Время пошло

П.С. Лично я такой складыватель реализовал в пол строчки. Но это я...Ха. Мне однажды дали такую задачу.
Даны две числовые переменные X и Y. Нужно, чтобы X приняла максимальное из двух значений, а Y минимальное. Можно юзать "только операции присваивания", матан запрещен. А так же запрещено "использование операторов", что бы это ни значило.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488145
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще нельзя объявлять дополнительные переменные.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488182
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДаны две числовые переменные X и Y. Нужно, чтобы X приняла максимальное из двух значений, а Y минимальное. Можно юзать "только операции присваивания", матан запрещен. А так же запрещено "использование операторов", что бы это ни значило.
System.Threading.Interlocked.CompareExchange ?

не люблю такие задачи. к программированию это никак не относится. так просто спортивное ориентирование в коде.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488185
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt...Есть два числа N и M.
Типа в духе поразрядного сдвига?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488313
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...

Т. е. за эту мою лямбду бить не будут, да? Ну ладно. А то я в другой теме попроще лямбду показал, а мне уже угрожать начали, хотя я этого человека даже не знаю. Вот что лямбды с людьми делают.Ты же сам себя бить и будешь, через годик-другой
Зачем тогда вообще лямбды нужны? Только ради односложных подстановок, типа OrderBy(obj => obj.Name), а что сложнее - ни-ни?

AntonariyhVostt...

Вот ещё задачка на профпригодность, чтоб поразмять это самое, ну вы поняли.

Есть два числа N и M. Надо сделать универсальный складыватель. ЧТобы не складывать 100500 раз. Нельзя пользоваться классами. Время пошло

П.С. Лично я такой складыватель реализовал в пол строчки. Но это я...Ха. Мне однажды дали такую задачу.
Даны две числовые переменные X и Y. Нужно, чтобы X приняла максимальное из двух значений, а Y минимальное. Можно юзать "только операции присваивания", матан запрещен. А так же запрещено "использование операторов", что бы это ни значило.
А нахрена такие задачки нужны? У вопрошающего от них куй отрастает или он так от потенциальных конкурентов по работе избавляется? Где это в реальности встречается?

Обычно такие задачки вопрошающий долго искал в Интернете или случайно наткнулся по работе и решал её неделю. А от отвечающего требует, чтобы тот её сию минуту решил, да ещё "нельзя ничем пользоваться, только ручкой и бумагой".
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488345
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как подобные упаковки в 1 строку показывают проф пригодность?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488353
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Зачем тогда вообще лямбды нужны? Только ради односложных подстановок, типа OrderBy(obj => obj.Name), а что сложнее - ни-ни?
Зачем они нужны, и как их использовать - никто здесь вам не указывает. Пишите в одиночку, нравится - ради б-га, пишите свои лямбды в страницы кода, и получайте удовольствие. Люди просто отмечают, что при совместной работе с кодом в проекте, где больше 1 человека, поддержка такого кода становится затруднительной.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488522
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныuser7320Зачем тогда вообще лямбды нужны? Только ради односложных подстановок, типа OrderBy(obj => obj.Name), а что сложнее - ни-ни?
Зачем они нужны, и как их использовать - никто здесь вам не указывает. Пишите в одиночку, нравится - ради б-га, пишите свои лямбды в страницы кода, и получайте удовольствие. Люди просто отмечают, что при совместной работе с кодом в проекте, где больше 1 человека, поддержка такого кода становится затруднительной.
Но совместная работа с кодом, а также работа с унаследованным кодом - это практически каждый первый проект. Вот и получается, что фактически вынуждают не использовать лямбды.

Кто-нибудь может сказать, в чём именно затруднительно поддерживать лямбды? Отложенное выполнение, трудности с дебагом, ещё что-то? Надеюсь, дело не в банальном "бородачи выучили только свой Pure С и больше знать ничего не желают"?

авторКак показывает практика, там, где задача предрасполагает к ХХХ сама по себе, не использовать готовый инструментарий в подавляющем большинстве случаев глупо.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488533
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaКак подобные упаковки в 1 строку показывают проф пригодность?Они показывают уровень владения инструментом и умение послать нах читать ТЗ. В условиях задачи не было читаемости или производительности. Конечно, в условиях реальной разработки такой код живет лишь до тех пор, пока на него не укажет профайлер.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488549
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Где это в реальности встречается?Конкретно такая задача — в программировании микроконтроллеров на ассемблере. Это экономная для ресурсов операция, что важно при малом объеме памяти и слабом ЦП. А еще от использования таких фишек у тебя сами собой отрастают борода и свитер с оленями.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488552
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaКак подобные упаковки в 1 строку показывают проф пригодность?
Начнем с того, что есть "проф пригодность" и каковы её критерии?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488558
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erAntonariyДаны две числовые переменные X и Y. Нужно, чтобы X приняла максимальное из двух значений, а Y минимальное. Можно юзать "только операции присваивания", матан запрещен. А так же запрещено "использование операторов", что бы это ни значило.
System.Threading.Interlocked.CompareExchange ?Да штоп я знал! В первый раз вижу.
Эту задачу я пропустил.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488609
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyuser7320Где это в реальности встречается?Конкретно такая задача — в программировании микроконтроллеров на ассемблере. Это экономная для ресурсов операция, что важно при малом объеме памяти и слабом ЦП. А еще от использования таких фишек у тебя сами собой отрастают борода и свитер с оленями.
Вот и я считаю, что высокоуровневым программистам программистам на высокоуровневых языках такие штуки не только не нужны, а даже вредны.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488617
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaКак подобные упаковки в 1 строку показывают проф пригодность?

Ну вообще-то, они показывают понимание того, как это работает, и что чем является.

Если конечно, автор такого кода не тупо в состоянии зазубрить порядок скобочек, стелочек и двоеточий.
Что хотябы говорит о том, что у него с памятью (одной из) все в порядке.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488626
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129VolochkovaКак подобные упаковки в 1 строку показывают проф пригодность?

Ну вообще-то, они показывают понимание того, как это работает, и что чем является.

Если конечно, автор такого кода не тупо в состоянии зазубрить порядок скобочек, стелочек и двоеточий.
Что хотябы говорит о том, что у него с памятью (одной из) все в порядке.
"Главное, чтобы человек был хороший...".
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488657
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,
Совершенно верно. :-)
По опыту поисков работы в Израиле, очень любят если пишешь код на бумажке или на доске, это как бы доказывает, что хоть код видел. А так да, смотрят на контактность и беспроблемность. У нас тут социализм, блин (в крупных не-стартапах).
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488799
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКонкретно такая задача — в программировании микроконтроллеров на ассемблере. Это экономная для ресурсов операция, что важно при малом объеме памяти и слабом ЦП.
а давайте вспомним ещё Пионеров и Вояджеров, которые уже как более 30 лет летят в космическом пространстве.
что бы их запрограммировать нужно вычислять каждый байт памяти, каждый квант ЦПУ...

а промышленные микроконтроллеры давно программируются по другому.
Simatic,Step7....
летом монтировал завод. видел всю эту кухню. от и до.
на асме там уже ничего нет
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488817
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понимаю, чем пугает сахарный синтаксис лямбд и linq-расширений? Кому не нравится - пишите километры кода, говнокодьте свои делегаты как в эпоху 2.0 фреймворка. C# 3.5 и выше дал нам возможность сократить рутину, что в этом плохого?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488831
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУчто в этом плохого?Знать приходится больше. Программировать стало сложнее?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488855
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЗнать приходится больше. Программировать стало сложнее?
Кому как, лично мне программировать стало на порядки, LINQ и шугарные фантики расслабляют.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488856
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУна порядки проще
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488874
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЯ не понимаю, чем пугает сахарный синтаксис лямбд и linq-расширений?
не пугает если оно решает задачу кратко и ёмко.
другое дело если оно превращается в портянку.

да и править код в методе с лямдой на точке останова естественно не получается.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488880
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, я приводил как то тест где одновложенный ЛИНК работал в 3-4 медленее того же когда на C# и раз в 10 на C++.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488912
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erне пугает если оно решает задачу кратко и ёмко.
другое дело если оно превращается в портянку.
Во-первых, где критерии краткости и ёмкости? Во-вторых, портянка это как-раз лохмотья классического кода.

beg-in-erда и править код в методе с лямдой на точке останова естественно не получается.
Ну если ты не умеешь ставить брэкпоинты в лямбде, это ведь не означает, что их там нельзя ставить. Верно?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488925
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erда, я приводил как то тест где одновложенный ЛИНК работал в 3-4 медленее того же когда на C# и раз в 10 на C++.
В LINQ не ставилось задачи работать быстрее нативного кода, это обвес.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488948
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЯ не понимаю, чем пугает сахарный синтаксис лямбд и linq-расширений? Кому не нравится - пишите километры кода, говнокодьте свои делегаты как в эпоху 2.0 фреймворка. C# 3.5 и выше дал нам возможность сократить рутину, что в этом плохого?

да ничего плохого. очень часто увесистые вложенные циклы можно переписать одним LINQ-выражением. только надо знать меру, чтобы читабельность не потерялась. иначе к исходникам надо будет прикладывать бесплатные пол литра, иначе не разобраться
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488950
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erда, я приводил как то тест где одновложенный ЛИНК работал в 3-4 медленее того же когда на C# и раз в 10 на C++.

переписать всё это дело на ассемблере и будет ещё быстрее!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488978
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУbeg-in-erда, я приводил как то тест где одновложенный ЛИНК работал в 3-4 медленее того же когда на C# и раз в 10 на C++.
В LINQ не ставилось задачи работать быстрее нативного кода, это обвес.
Во всём Дотнете и вообще в Сишарпе такой задачи не ставилось. Ставилась задача управляемости кодом и скорости разработки. Но приходят бородачи и начинают ныть "в наши дни Си был без плюсов и уж тем более без всяких там решёток...".

hVosttда ничего плохого. очень часто увесистые вложенные циклы можно переписать одним LINQ-выражением. только надо знать меру, чтобы читабельность не потерялась. иначе к исходникам надо будет прикладывать бесплатные пол литра, иначе не разобраться
Так в том-то и штука, что мне говорили, что за лямбды и Линк будут бить. А что конкретно им не нравилось - не говорили. Были мои лямбды говнокодом или они в них даже не вникали... Создаётся впечатление, что как увидели лямбду, так не разбираясь сразу глаза красные и дым из носа.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488983
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Так в том-то и штука, что мне говорили, что за лямбды и Линк будут бить. А что конкретно им не нравилось - не говорили. Были мои лямбды говнокодом или они в них даже не вникали... Создаётся впечатление, что как увидели лямбду, так не разбираясь сразу глаза красные и дым из носа.

идиоты.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488994
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНу если ты не умеешь ставить брэкпоинты в лямбде, это ведь не означает, что их там нельзя ставить. Верно?

я ващето немного про другое


VS2008 вообще не умеет править такой метод
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38488999
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttпереписать всё это дело на ассемблере и будет ещё быстрее!
ну как бэ там было реализовано на чистом С. а он , по сути , тот же асм но с обвесами.
разница в наличии оптимизатора.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489000
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320что мне говорили, что за лямбды

Ну вот у меня IQ 120, я понимаю абстракции ну максимум до 3 этажа. Дальше все, моск закипает.
Так что вывод ясен.

Есть перегибы и в другую сторону - когда требуют чтобы все переменные обьявлялись как var.

Но это еще не самое страшное (через что мне приходится проходить прямо сейчас).

:-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129когда требуют чтобы все переменные обьявлялись как var

это как раз вполне логичное требование.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489010
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttэто как раз вполне логичное требование.
Не всегда:

Код: c#
1.
var i = (int?)0;
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489021
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttэто как раз вполне логичное требование.

Не соглашусь. Писать может и удобно, но вот поддерживать - надо прочитать портянку кода, а там варварвар = гет().
А что делает, какой класс возвращает - надо в функцию прокрутить, или мышкой наводится, вроде показывает подсказку, а вот если сразу два класса надо глянуть - это что и это -
лишние напряги, просто падает производительность, да и все. Тратишь энергию не на то, что надо - в своей памяти меняешь вар на конкретное и актуальное сейчас имя класса. А зачем? Только типа для того, что "если вдруг когда нибудь кто нибудь зачем нибудь" поменяет тип, то ему, счастливому, не придется пару строчек поменять, которые ему компилятор подчеркнет. Великая выгода от этого? Даже по деньгам нет, потому, что я сейчас втыкаю и теряю времени в сотни раз больше, чем могло бы понадобиться для подобного изменения.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489023
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучhVosttэто как раз вполне логичное требование.
Не всегда:

Код: c#
1.
var i = (int?)0;



на 5 символов больше?

вариант когда var использовать не уместно:

Код: c#
1.
2.
3.
4.
5.
int i;
if(int.TryParse(someString, out i))
{
   ...
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489024
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttтолько надо знать меру, чтобы читабельность не потерялась
Это утверждение относится не только к LINQ, а к программированию вообще.

user7320Во всём Дотнете и вообще в Сишарпе такой задачи не ставилось. Ставилась задача управляемости кодом и скорости разработки. Но приходят бородачи и начинают ныть "в наши дни Си был без плюсов и уж тем более без всяких там решёток...".
Честно говоря меня вполне устраивает "скорость" .NET, разницу в процессорных тиках считать будем? Чай не драйвера под материнку пишем на плюсах.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489031
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttна 5 символов больше?

Не в числе символов дело. Сама конструкция глупая: говорим компилятору "выведи-ка мне тип", и тут же сами его (тип) и указываем.

hVosttвариант когда var использовать не уместно:

Строго говоря, тут без явного указания типа никак.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489041
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320Во всём Дотнете и вообще в Сишарпе такой задачи не ставилось. Ставилась задача управляемости кодом и скорости разработки. Но приходят бородачи и начинают ныть "в наши дни Си был без плюсов и уж тем более без всяких там решёток...".
Честно говоря меня вполне устраивает "скорость" .NET, разницу в процессорных тиках считать будем? Чай не драйвера под материнку пишем на плюсах.Меня не устраивает. Криворуконаписанный WPF мог бы работать в 1.5 ... 3 раза быстрее, если бы была возможность опционально отключать проверку границ массивов / типов.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
// в свойствах проекта стоит галочка Allow Unsafe Code

[ArrayBoundsCheckDisabled]
[TypeCastCheckDisabled]
void SomeWPFMethod()
{
    // Тут лютый код из PresentationFramework.dll
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489042
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erVS2008 вообще не умеет править такой метод
Честно говоря никогда не правлю таким образом код. Использую средства Quick Watch, Watch и новомодный Autos.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489043
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Не соглашусь. Писать может и удобно, но вот поддерживать - надо прочитать портянку кода, а там варварвар = гет().
А что делает, какой класс возвращает - надо в функцию прокрутить, или мышкой наводится, вроде показывает подсказку, а вот если сразу два класса надо глянуть - это что и это -
лишние напряги, просто падает производительность, да и все. Тратишь энергию не на то, что надо - в своей памяти меняешь вар на конкретное и актуальное сейчас имя класса. А зачем? Только типа для того, что "если вдруг когда нибудь кто нибудь зачем нибудь" поменяет тип, то ему, счастливому, не придется пару строчек поменять, которые ему компилятор подчеркнет. Великая выгода от этого? Даже по деньгам нет, потому, что я сейчас втыкаю и теряю времени в сотни раз больше, чем могло бы понадобиться для подобного изменения.

не соглашусь. не надо ничего там крутить. если вам нужна информация о типе, вам всё равно придётся лезть в дебри. в ином случае достаточно семантики в названиях переменных и функций.

var user = SomeService.GetActiveUser();

чем же вот это лучше:

IUser user = ... ?

кроме того, особенно доставляют вот таки конструкции:

Код: c#
1.
SomeInterfaceLayerNamespace.ISomeBigName someBigNameValue = SomeNamesapce.SomeMethodThatReturnObject("SomeCacheKey") as SomeInterfaceLayerNamespace.ISomeBigName;



офигитительная читабельность!!!!!!!!!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489053
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучНе в числе символов дело. Сама конструкция глупая: говорим компилятору "выведи-ка мне тип", и тут же сами его (тип) и указываем.

ну так в этом и смысл, фокус внимания правильный. важно то, что справа, а не то, что слева.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489056
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129user7320что мне говорили, что за лямбды

Ну вот у меня IQ 120, я понимаю абстракции ну максимум до 3 этажа. Дальше все, моск закипает.
Так что вывод ясен.

Есть перегибы и в другую сторону - когда требуют чтобы все переменные обьявлялись как var.

Но это еще не самое страшное (через что мне приходится проходить прямо сейчас).

:-)
У меня айку что-то около 80. Я вообще мало что понимаю. Да при этом ещё и постоянно что-нибудь забываю. Но к некоторым длинным своим лямбдам я пишу пояснение в комментарии, что эта лямбда делает, чтобы если кто-то даже в лямбде не разобрался, то хотя бы смог переписать решение этой задачи так, как ему удобнее - без лямбд, например.

А насчёт var - это банально короче, чем выводить полностью ReadOnlyCollection<MySuperModel>. И не надо задумываться, что это за тип при написании, например, всяких форичей:

Код: c#
1.
foreach(var i in ...)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489064
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt если вам нужна информация о типе

для начала я предпочел бы видеть (еще до всяких дебрей) что это не string, например. И не всегда семантика имени отражает сущность, и дополнение в виде явного имени а даже и интерфейса - совсем не лишнее для меня.
Сугубо субьективно - я работал с кодом где этого требования не было - и var применялось там, где действительно длинное имя класса мешает, или при разработке лямбды, которая может возвращать разные типы,
и вот работаю с чужим кодом сейчас - и чуствую неудобство.
Вообще, бывают ситуации, когда и оператор goto улучшает читаемость, каждый инструмент хорош на своем месте.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489074
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Вообще, бывают ситуации, когда и оператор goto улучшает читаемость, каждый инструмент хорош на своем месте.Если в языке нет исключений. В C# они есть.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489077
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Честно говоря меня вполне устраивает "скорость" .NET, разницу в процессорных тиках считать будем? Чай не драйвера под материнку пишем на плюсах.Меня не устраивает. Криворуконаписанный WPF мог бы работать в 1.5 ... 3 раза быстрее, если бы была возможность опционально отключать проверку границ массивов / типов.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
// в свойствах проекта стоит галочка Allow Unsafe Code

[ArrayBoundsCheckDisabled]
[TypeCastCheckDisabled]
void SomeWPFMethod()
{
    // Тут лютый код из PresentationFramework.dll
}


А разве главная проблема производительности WPF не в графической части ? На этом ещё Джобс выехал, когда Вин Мобайл была хороша всем (для своего времени и своих процессоров), кроме отзывчивости интерфейса, а первый Айфон плох всем, кроме отзывчивости интерфейса (ещё мультитач они первые, вроде, ввели, и ещё пару мелочей), но именно это и было одной из главных фич, из-за которых стали поливать Вин Мобайл говном и дрочить на айфоны.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489089
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320 А разве главная проблема производительности WPF не в графической части ? На этом ещё Джобс выехал, когда Вин Мобайл была хороша всем (для своего времени и своих процессоров), кроме отзывчивости интерфейса, а первый Айфон плох всем, кроме отзывчивости интерфейса (ещё мультитач они первые, вроде, ввели, и ещё пару мелочей), но именно это и было одной из главных фич, из-за которых стали поливать Вин Мобайл говном и дрочить на айфоны.Я с графикой особо не работал. Меня расстраивает, например, долгая генерация визуального дерева. Это особенно заметно в DataGrid с большим количеством отображаемых ячеек. Может в 4.5 это оптимизировали, в 4.0 оно работает непростительно медленно.

зы: Grid.SharedSizeScope тоже не быстр.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489119
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320 А разве главная проблема производительности WPF не в графической части ? На этом ещё Джобс выехал, когда Вин Мобайл была хороша всем (для своего времени и своих процессоров), кроме отзывчивости интерфейса, а первый Айфон плох всем, кроме отзывчивости интерфейса (ещё мультитач они первые, вроде, ввели, и ещё пару мелочей), но именно это и было одной из главных фич, из-за которых стали поливать Вин Мобайл говном и дрочить на айфоны.Я с графикой особо не работал. Меня расстраивает, например, долгая генерация визуального дерева. Это особенно заметно в DataGrid с большим количеством отображаемых ячеек. Может в 4.5 это оптимизировали, в 4.0 оно работает непростительно медленно.

зы: Grid.SharedSizeScope тоже не быстр.
Вы почитайте статью. Если вы пользователю хотя бы одну кнопку показали - вы работали с графикой WPF. Это ведь не только к рисования фигур или 3D относится. WPF всё (все контролы, фигуры и прочее) отрисовывает треугольниками. И вот эти алгоритмы отрисовки у него выглядят так... как будто там сидел какой-то вредитель и специально всё притормаживал. Как разработчики игр для ПК делают, когда графон уровня "до Кризиса" жрёт больше Кризиса и тормозит тоже больше. Это, кстати, вполне может быть связано с заговором МС с производителями железа. Ведь ВПФ вышел, когда вышла Виста. А она тормозами отличалась. Тогда ещё они этот свой ДХ10 толкали везде, опять же, новое железо под него. То на то, то и выходит, что с тех пор никто отрисовку в ВПФ и не поправлял (наверное), хотя уже давно эти тормоза не актуальны - т. е. железо напродавали и бабки поделили.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489127
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей Кпропущено...
Я с графикой особо не работал. Меня расстраивает, например, долгая генерация визуального дерева. Это особенно заметно в DataGrid с большим количеством отображаемых ячеек. Может в 4.5 это оптимизировали, в 4.0 оно работает непростительно медленно.

зы: Grid.SharedSizeScope тоже не быстр.
Вы почитайте статью. Если вы пользователю хотя бы одну кнопку показали - вы работали с графикой WPF. Это ведь не только к рисования фигур или 3D относится. WPF всё (все контролы, фигуры и прочее) отрисовывает треугольниками. И вот эти алгоритмы отрисовки у него выглядят так... как будто там сидел какой-то вредитель и специально всё притормаживал. Как разработчики игр для ПК делают, когда графон уровня "до Кризиса" жрёт больше Кризиса и тормозит тоже больше. Это, кстати, вполне может быть связано с заговором МС с производителями железа. Ведь ВПФ вышел, когда вышла Виста. А она тормозами отличалась. Тогда ещё они этот свой ДХ10 толкали везде, опять же, новое железо под него. То на то, то и выходит, что с тех пор никто отрисовку в ВПФ и не поправлял (наверное), хотя уже давно эти тормоза не актуальны - т. е. железо напродавали и бабки поделили.
Ещё косвенно о том, что ВПФ МС забросила и не развивает года так три-четыре. Попробуйте в ВПФ 3Д натянуть на какую-нибудь простую поверхность текстурку. Я на сферу натягивал панорамную фотку разрешением где-то 800х600, а получил квадраты. И у меня родилось такое предположение, что ВПФ не может скормить ДХ'у текстуры бОльшего разрешения, чем, скажем, 256х256. Но это разрешение - это, скажем так, технологии как раз бородатых годов начала 2000-х. Недаром в ВПФ 3Д рендеринг аналогичен обрезанному ДХ9. Ну, а с 2Д ситуация та же, что и с 3Д. Вот вам и проблемы визуальных деревьев и томроза.

МС ВПФ не нужен. А разработчикам и пользователям не нужен недоделанный ModernUI.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489130
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей Кпропущено...
Я с графикой особо не работал. Меня расстраивает, например, долгая генерация визуального дерева. Это особенно заметно в DataGrid с большим количеством отображаемых ячеек. Может в 4.5 это оптимизировали, в 4.0 оно работает непростительно медленно.

зы: Grid.SharedSizeScope тоже не быстр.
Вы почитайте статью. Если вы пользователю хотя бы одну кнопку показали - вы работали с графикой WPF. Это ведь не только к рисования фигур или 3D относится. WPF всё (все контролы, фигуры и прочее) отрисовывает треугольниками. И вот эти алгоритмы отрисовки у него выглядят так... как будто там сидел какой-то вредитель и специально всё притормаживал. Как разработчики игр для ПК делают, когда графон уровня "до Кризиса" жрёт больше Кризиса и тормозит тоже больше. Это, кстати, вполне может быть связано с заговором МС с производителями железа. Ведь ВПФ вышел, когда вышла Виста. А она тормозами отличалась. Тогда ещё они этот свой ДХ10 толкали везде, опять же, новое железо под него. То на то, то и выходит, что с тех пор никто отрисовку в ВПФ и не поправлял (наверное), хотя уже давно эти тормоза не актуальны - т. е. железо напродавали и бабки поделили.После генерации визуального дерева отрисовки происходят достаточно быстро.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489131
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489135
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320МСУпропущено...

В LINQ не ставилось задачи работать быстрее нативного кода, это обвес.
Во всём Дотнете и вообще в Сишарпе такой задачи не ставилось. Ставилась задача управляемости кодом и скорости разработки. Но приходят бородачи и начинают ныть "в наши дни Си был без плюсов и уж тем более без всяких там решёток...".

hVosttда ничего плохого. очень часто увесистые вложенные циклы можно переписать одним LINQ-выражением. только надо знать меру, чтобы читабельность не потерялась. иначе к исходникам надо будет прикладывать бесплатные пол литра, иначе не разобраться
Так в том-то и штука, что мне говорили, что за лямбды и Линк будут бить. А что конкретно им не нравилось - не говорили. Были мои лямбды говнокодом или они в них даже не вникали... Создаётся впечатление, что как увидели лямбду, так не разбираясь сразу глаза красные и дым из носа.Ну давай посмотрим на твой код:user7320Я уже и сам не помню, что эта штука делает - попробуйте понять из кода. Завтра вспомню - скажу.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
MyModel.Recommendations =
    preparation.Recommendations
    .OrderBy<DBLibrary.Recommendation, ICollection<DBLibrary.Group>>(
        r => r.Groups,
        Comparer<ICollection<DBLibrary.Group>>.Create(
            (x, y) =>
                x
                .OrderBy(g => g.Name)
                .FirstOrDefault()
                .Name
                .CompareTo(
                    y
                    .OrderBy(g => g.Name)
                    .FirstOrDefault()
                    .Name)))
    .Select(r => new RecommendationForModel()
    {
    	...
    })
    .ToList()
    .AsReadOnly();

1. Ты уже сам не помнишь, что он у тебя делает;
2. У тебя в одном выражении и выбор из бд, и mapping (нарушение принципа единственной обязанности). Да и RecommendationForModel - это ViewModel у тебя, насколько я помню. И если клиенту потребуется JSON, или XML, или другой формат ViewModel, то что ты будешь делать, копипастить и править своё выражение?
3. FirstOrDefault() может вернуть null и упадёт исключение из которого ни фига не понятно, в каких данных проблема.

Остальные замечания будт после того, как ты вспомнишь, что делает твой код
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489140
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПосле генерации визуального дерева отрисовки происходят достаточно быстро.
Хмм... наверное, я что-то подзабыл. Или не знал. Дадите ссылку, где расписано, в каком порядке и как ВПФ создаёт картинку UI? От разметки замла до готового окна.

Вопрос по-быстрому: в создании визуального дерева ГПУ не участвует?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489142
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Попробуйте в ВПФ 3Д натянуть на какую-нибудь простую поверхность текстурку. Я на сферу натягивал панорамную фотку разрешением где-то 800х600, а получил квадраты. И у меня родилось такое предположение, что ВПФ не может скормить ДХ'у текстуры бОльшего разрешения, чем, скажем, 256х256. Но это разрешение - это, скажем так, технологии как раз бородатых годов начала 2000-х. Недаром в ВПФ 3Д рендеринг аналогичен обрезанному ДХ9. Ну, а с 2Д ситуация та же, что и с 3Д. Вот вам и проблемы визуальных деревьев и томроза.Повторюсь, с графикой не работаю. А бордюры и градиенты он рисует достаточно быстро. Тормоза именно в модели данных контролов.

user7320МС ВПФ не нужен. А разработчикам и пользователям не нужен недоделанный ModernUI.Нужен. У ВПФ свои преимущества. Альтернативы ему нет и в ближайшее время не предвидится. FireMonkey и Qt не предлагать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489148
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Альтернативы ему нет и в ближайшее время не предвидится.
а как же триада html5+css5+js
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489153
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для особых ценителей есть canvas и WebGL
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489158
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttvar user = SomeService.GetActiveUser();

чем же вот это лучше:

IUser user = ... ?
существенно лучше. GetActiveUser() может вернуть всё что угодно(реализовывать тучу интерфейсов, иметь собственные и унаследованые методы, свойства, поля)

IUser user означает что ничего кроме интерфейса IUser от user не требуется
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489160
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Вопрос по-быстрому: в создании визуального дерева ГПУ не участвует?Да.
user7320Алексей КПосле генерации визуального дерева отрисовки происходят достаточно быстро.
Хмм... наверное, я что-то подзабыл. Или не знал. Дадите ссылку, где расписано, в каком порядке и как ВПФ создаёт картинку UI? От разметки замла до готового окна.
Ссылку не дам, не помню где это описано. Кратко:

1. Парсинг XAML (BAML)
2. Вычисление значений DependencyProperty, DataBinding, Styles, Triggers и т. п. Разворот DataTemplate.
3. Разворот ControlTemplate и генерация Visual Tree.
4. Отрисовка (ГПУ участвует).
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489162
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилIUser user означает что ничего кроме интерфейса IUser от user не требуется
отлично сказано!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489165
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erАлексей К Альтернативы ему нет и в ближайшее время не предвидится.
а как же триада html5+css5+jsЭто с другой планеты. Если оно приживётся а WPF совсем загнётся - будем осваивать. Пока ещё рано.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489171
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилсущественно лучше. GetActiveUser() может вернуть всё что угодно(реализовывать тучу интерфейсов, иметь собственные и унаследованые методы, свойства, поля)

IUser user означает что ничего кроме интерфейса IUser от user не требуется

вот именно. GetActiveUser() может вернуть всё что угодно. когда займётесь рефакторингом, проклянете все явные определения типов вместо var. если судить по опыту, не было ни одного случая, когда var меня поставил в тупик. названия классов, методов, свойств и переменных должны очень чётко отражать смысл.

GetActiveUser() не должен возвращать имя пользователя. GetActiveUserName() не должен возвращать объект пользователя. очевидное поведение и семантическое наименование позволяет не пользоваться костылём в виде явного определения типа для переменной.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489177
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Пока ещё рано.
про рано ещё не знаю, но тема классная.
много она конечно что не может ( например контрол произвольной формы сделать в духе Region ) ....но я вот не понимаю зачем нужен wpf после появления html5 (а точнее его поддержи броузерами).

тут тебе и на яблоко и на андроид и на винду и на юникс - всё сразу и в одном флаконе. ненужно говнокодить на разные платформы
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489184
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erАлексей К Пока ещё рано.
про рано ещё не знаю, но тема классная.
много она конечно что не может ( например контрол произвольной формы сделать в духе Region ) ....но я вот не понимаю зачем нужен wpf после появления html5 (а точнее его поддержи броузерами).

тут тебе и на яблоко и на андроид и на винду и на юникс - всё сразу и в одном флаконе. ненужно говнокодить на разные платформыВидимо дело привычки. Меня WPF устраивает.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489191
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМеня не устраивает. Криворуконаписанный WPF мог бы работать в 1.5 ... 3 раза быстрее, если бы была возможность опционально отключать проверку границ массивов / типов.
Гавно в виде WPF не в счет
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489197
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erмного она конечно что не может ( например контрол произвольной формы сделать в духе Region )

чёй то?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489202
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КМеня не устраивает. Криворуконаписанный WPF мог бы работать в 1.5 ... 3 раза быстрее, если бы была возможность опционально отключать проверку границ массивов / типов.
Гавно в виде WPF не в счет "Г@вно" в виде Entity Framework тоже? Там SQL генерируется мягко говоря не быстро. Хорошо закэшировать догадались, через столько лет...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489207
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВидимо дело привычки. Меня WPF устраивает.
дело-то хозяйское.
но гораздо проще убедить людей, что отныне они могут делать многое не только на винде, но и на планшетиках
( например от самсунга . в частности появилось хорошее решение по цене/какчеству Таб3 за 11 рублей. не реклама. )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489211
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erАлексей КВидимо дело привычки. Меня WPF устраивает.
дело-то хозяйское.
но гораздо проще убедить людей, что отныне они могут делать многое не только на винде, но и на планшетиках
( например от самсунга . в частности появилось хорошее решение по цене/какчеству Таб3 за 11 рублей. не реклама. )Если программа нужная - железо и ОС будут подбираться под неё, а не наоборот. Microsoft Flight Simulator тому пример.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489216
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttчёй то?
хочу типа так
Код: c#
1.
2.
3.
Control c = new Control();
var GPath=new System.Drawing.Drawing2D.GraphicsPath(); // привет var !!!!  )))
c.Region = new Region(GPath);



а как мне на html сделать треугольный компонент?
или через map задавать?

вариант, когда делают треугольник из бордера не предлагать.
я уже делал тему
как создать элемент сложной формы?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489219
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К"Г@вно" в виде Entity Framework тоже? Там SQL генерируется мягко говоря не быстро. Хорошо закэшировать догадались, через столько лет...
Ужас какой, по 5 минут генерируется и генерируется этот SQL, всё сгенерироваться не может.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489221
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erАлексей К Пока ещё рано.
про рано ещё не знаю, но тема классная.
много она конечно что не может ( например контрол произвольной формы сделать в духе Region ) ....но я вот не понимаю зачем нужен wpf после появления html5 (а точнее его поддержи броузерами).

тут тебе и на яблоко и на андроид и на винду и на юникс - всё сразу и в одном флаконе. ненужно говнокодить на разные платформы
вот миф из серии кроссплаформенности. На самом деле сделать протип / элементарное приложение супер идея. А писать что-то серьезное, едва ли.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489228
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К"Г@вно" в виде Entity Framework тоже? Там SQL генерируется мягко говоря не быстро. Хорошо закэшировать догадались, через столько лет...
Ужас какой, по 5 минут генерируется и генерируется этот SQL, всё сгенерироваться не может.Ну поработай с родным EF из .Net 4. Контекст сделай 100+ таблиц. Чуешь разницу? :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489233
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу поработай с родным EF из .Net 4. Контекст сделай 100+ таблиц. Чуешь разницу? :-)
Поработал. Сделал. SQL стал генерироваться за 25 минут. Ну не так критично, согласись :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489237
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первая юзабельная версия EF - June2011CTP. Всё что было до этого - отстой.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489242
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПервая юзабельная версия EF - June2011CTP. Всё что было до этого - отстой.
Ну так тогда и курили L2S и хиберы всякие. Не гунди... )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489264
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erа как мне на html сделать треугольный компонент?
или через map задавать?

svg, webgl ))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489267
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanbeg-in-erтут тебе и на яблоко и на андроид и на винду и на юникс...
вот миф из серии кроссплаформенности.
в какой части миф?
если нужны аппаратные возможности - никто не спорит десктоп приложение. как вышеозначенный симулятор.
а там где нет таких потребностей там вроде всё норм.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489277
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой классный многозадачный тред
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489279
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttsvg, webgl ))
как они мне помогут сделать треугольный/произвольный контрол?


нарисовать я сам могу, вопрос был в клике мышкой .
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489289
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erнарисовать я сам могу, вопрос был в клике мышкой .

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<script type="text/javascript"> <![CDATA[
    function addClickEvents() {
        var countries = document.getElementById('svg1926').childNodes;
        var i;
        for (i=0;i<countries.length;i++){
            countries[i].addEventListener('click', showCountry);
        }
    }

    function showCountry(e) {
        var node = e.target;
        if (node.id != 'ocean') {
            node = getCorrectNode(node);
        }
        alert(node.id);
    }

    function getCorrectNode(node) {
        if (node.id.length == 2 || node.id == 'lakes') {
            return node;
        }
        return getCorrectNode(node.parentNode);
    }
]]> </script>



и рисуй в своём #svg1926 Хоть зайца!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489311
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttи рисуй в своём #svg1926 Хоть зайца!
на css даже танцующего Бендера рисуют
svg всеравно будет прямоугольным. и обработка клика соответсвенно.
если картинки будут перекрываться, то пользователю будет трудно объяснить, почему он кликнул на один див, а сработал клик от другого дива.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489313
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе гунди... )Ага, я только начал...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489315
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В JS foreach нормальный будет? Читал, что он есть, но пользоваться им нельзя...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489319
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erна css даже танцующего Бендера рисуют
svg всеравно будет прямоугольным. и обработка клика соответсвенно.
если картинки будут перекрываться, то пользователю будет трудно объяснить, почему он кликнул на один див, а сработал клик от другого дива.

хватит городить чепуху :)

http://libcanvas.github.io/
http://www.splashnology.com/article/creating-a-framework-for-canvas-objects-and-mouse/989/

на любые шейпы можно вешать клик, который будет отрабатывать точно по региону. люди уже игры для вебраузера вовсю лабают на HTML5, а вы всё не можете с одним кликом разобраться
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489321
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ JS foreach нормальный будет? Читал, что он есть, но пользоваться им нельзя...
Фантики и сахар пиши сам :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489323
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttи рисуй...
нынче меня другая задачка на профпригодность беспокоит. аж чешется.
как определить поддержку CSS свойства (translate3d)

такая вот задачка. я ,как beg-in-er, не могу её внятно решить. а раз в теме никто не откликнулся , могу сделать вывод - читавшие тоже.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489325
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489327
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489332
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489333
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489335
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ http://www.1stwebdesigner.com/freebies/html5-demos/ авторУважаемые пользователи!

Мы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.

Возможные причины ограничения доступа:
1.Доступ ограничен по решению суда или по иным основаниям, установленным законодательством Российской Федерации.

2.Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Единый Реестр доменных имен, указателей страниц сайтов сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено.

Проверить наличие сетевого адреса в Едином реестре можно в разделе «Просмотр реестра» на сайте www.zapret-info.gov.ru.

3.Сетевой адрес, позволяющий идентифицировать сайт в сети «Интернет», включен в Реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространяемую с нарушением исключительных прав.

Проверить наличие сетевого адреса в Реестре можно в разделе «Просмотр реестра» на сайте nap.rkn.gov.ru.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489338
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, это ваш провайдер режет почему-то.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489339
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМы приносим свои извинения, но доступ к запрашиваемому ресурсу ограничен.
та не, работает.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489341
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489342
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489345
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489348
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ http://www.mrdoob.com/projects/chromeexperiments/google-gravity/
всё равно элементы прямоугольные. да повёрнуты transform:rotateZ(10deg)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489349
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489350
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ http://playbiolab.com/ Дааа, достижение... У меня на Спектруме такие игры были, с магнитофона грузились...

зы: хотел сматериться, но передумал...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489351
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

YouTube Video
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489352
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erМСУ http://www.mrdoob.com/projects/chromeexperiments/google-gravity/
всё равно элементы прямоугольные. да повёрнуты transform:rotateZ(10deg)
http://www.html5rocks.com/en/tutorials/webgl/globe/
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489355
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А гонки на хтмл5? :)

http://disc-c.ru/hexgl-3d-гонки-на-html5/
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489356
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ http://andrew-hoyer.com/experiments/cloth/ Сколько человеколет они на это потратили там не пишут?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489357
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttхватит городить чепуху :)
на любые шейпы можно вешать клик, который будет отрабатывать точно по региону.
речь шла не о том что нарисовано в канвасе.
речь о самих элементах типа div.
в шарпе мы просто задаём регион. в html для этого нужно вскопать огород.
если забыть о такой мелочи, то....я кстати забыл. тема была от 27 сентября.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489361
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМСУ,

YouTube Video
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489365
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erречь шла не о том что нарисовано в канвасе.
речь о самих элементах типа div.
в шарпе мы просто задаём регион. в html для этого нужно вскопать огород.
если забыть о такой мелочи, то....я кстати забыл. тема была от 27 сентября.

фреймворков которые копают-орогод уже туёва хуча. мелоче делаются не сложнее, чем в шарпе. зато кроссплатформенно, и работают на чудо-айпадиках -- щто самое главное в наше время. не работает на ойпаде? выкиньте своё творение на помойечку )) такие времена. да...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489366
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУвсё равно элементы прямоугольные.
http://www.html5rocks.com/en/tutorials/ webgl/ ...
как я себе тогда зафиксировал:
всё что предлагается - это его нарисовать в canvas или webgl. вот и весь выбор.
я не против. но это констатация факта.
либо через map , либо кисть в руки и малюем всё что душе угодно. но тогда все остальное делаем сами - onclick,onover...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489369
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt не работает на ойпаде?
у меня как раз на айпадиках всё работает отлично!
проблема с динозаврами. оне хренова тащют 3Д, точнее 3d в css
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489378
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ http://www.1stwebdesigner.com/freebies/html5-demos/
хорошая подборка .
жаль некоторые не пашут (№41).
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489394
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320Попробуйте в ВПФ 3Д натянуть на какую-нибудь простую поверхность текстурку. Я на сферу натягивал панорамную фотку разрешением где-то 800х600, а получил квадраты. И у меня родилось такое предположение, что ВПФ не может скормить ДХ'у текстуры бОльшего разрешения, чем, скажем, 256х256. Но это разрешение - это, скажем так, технологии как раз бородатых годов начала 2000-х. Недаром в ВПФ 3Д рендеринг аналогичен обрезанному ДХ9. Ну, а с 2Д ситуация та же, что и с 3Д. Вот вам и проблемы визуальных деревьев и томроза.Повторюсь, с графикой не работаю. А бордюры и градиенты он рисует достаточно быстро. Тормоза именно в модели данных контролов.
Если кому интересно, я вот о чём говорю. Скачайте мою программку (осторожно, говнокод!) и киньте в папку VideoSource http://www.youtube.com/results?search_query=Spherical+video+360
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489407
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erно я вот не понимаю зачем нужен wpf после появления html5 (а точнее его поддержи броузерами).
Язык, в котором для выравнивания картинки по центру её контейнера требуются такие изъёбства, не имеет право на существование.
http://stackoverflow.com/questions/7273338/how-to-vertically-align-an-image-inside-div

Кто в этом виноват - старые ИЕ там или то, что до сих пор наличествует некислая такая фрагментация реализации ХТМЛ-ЦСС по движкам браузеров, вопрос другой. Главное, что прямо сейчас вы можете без особых изъёбств писать либо под конкретный браузер как под платформу, либо никак. Если останавливаемся на варианте "конкретный браузер-платформа", то чем был хуже Сильверлайт? - Тоже вполне себе платформа. Т. е. о кроссплатформенности (та ещё байка для оболванивания лошков) уже не может быть и речи.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489418
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Язык, в котором для выравнивания картинки по центру её контейнера требуются такие изъёбства, не имеет право на существование.

да, изъйопство. беспесты.
Код: html
1.
<div align='center' ><img src='pic/zenchenko2.jpg'></div>
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489425
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erда, изъйопство. беспесты.
особенно если вопользоваться стилем который есть в ссылке - точно изйопство
Код: css
1.
2.
3.
div {    position:relative;}
img {    position:absolute;    top:0;    bottom:0;    margin:auto;}
.image {    min-height:50px} 


а можно тоже самое и на JS сделать. вариантов иъйопства тьма.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489426
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanbeg-in-erпропущено...

про рано ещё не знаю, но тема классная.
много она конечно что не может ( например контрол произвольной формы сделать в духе Region ) ....но я вот не понимаю зачем нужен wpf после появления html5 (а точнее его поддержи броузерами).

тут тебе и на яблоко и на андроид и на винду и на юникс - всё сразу и в одном флаконе. ненужно говнокодить на разные платформы
вот миф из серии кроссплаформенности. На самом деле сделать протип / элементарное приложение супер идея. А писать что-то серьезное, едва ли.
Ещё раз: кроссплатформенность - миф. Скорее всего, форсированный Гуглом и ему подобными для борьбы с МСом и прочими "монополистами". Нужен для передела рынка и сфер влияния. Она выгодна только Гуглу, который на рекламе зарабатывает, для всех остальных вся эта кроссплатформенность-открытость - лишение конкуретных преимуществ (хотя бы и таких, как проприетарность). Но поскольку Гуглу надо диверсифицировать свои источники доходов для стабильности, то он тоже неизбежно уйдёт (уже уходит) в проприетарность и закрытость. Но с головой он это сделает не раньше, чем разделается с МС и прочими своими главными конкурентами. А до этого - мантры про кроссплатформенность, открытость и прочую лабудень.

Поэтому никогда не будет, чтобы вам было удобно что-то там писать кроссплатформенно - то интерфейсы не будут совпадать, то АПИ, то ещё какие палки в колёса будут вставлять. При этом на людях будут строить грустную мину, полную участия, и убеждать вас, что "делают всё возможное, чтобы обеспечить вам эту вашу... как её... а, кроссформенность". В реале почему-то каждая крупная контора (фейсбуки всякие и прочие) делают нативные приложения для каждой платформы. А дурачки всё пытаются осваивать "кроссплатформенные" недофреймворки с непонятными перспективами.

Я не говорю, что кроссплатформенность и открытость это плохо. Это очень хорошо. Но это может быть только в идеальном мире.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489449
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Ещё раз: кроссплатформенность - миф.
в какой части это миф?

достаточно при разработке программы сказать , что "если у вас будет ФФ, Хром,Ёпера,Сафари, Макстон,ИЕ такой-то версии, то у вас всё будет работать" -то массам проблем исчезнет как класс.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489452
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА гонки на хтмл5? :)

http://disc-c.ru/hexgl-3d-гонки-на-html5/
IN REAL TIME!!! ((C) Jobs)

YouTube Video
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489460
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ http://andrew-hoyer.com/experiments/cloth/
А чё она не рвётся? Я видел демку, где можно самому задавать число узлов сетки и "крепость связей" между узлами, а потом мышкой рвать эту сетку.

А вообще, для ХТМЛ-ЦСС в применении их к тому, что вы накидали ссылками...

...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489466
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-eruser7320Язык, в котором для выравнивания картинки по центру её контейнера требуются такие изъёбства, не имеет право на существование.

да, изъйопство. беспесты.
Код: html
1.
<div align='center' ><img src='pic/zenchenko2.jpg'></div>


И по вертикали (не проверял)? Чего же тогда на Stackoverflow всякие гуры костыли-портянки пишут или предлагают некроссплатформенно отдаться Хрому там или Сафари?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489480
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-eruser7320Ещё раз: кроссплатформенность - миф.
в какой части это миф?

достаточно при разработке программы сказать , что "если у вас будет ФФ, Хром,Ёпера,Сафари, Макстон,ИЕ такой-то версии, то у вас всё будет работать" -то массам проблем исчезнет как класс.
Во всеобъемлющей. По мелочам-то можно и кроссплатформенно, ага. Перефразируя Форда, "Вы можете писать кроссплатформенно, если ваш браузер Хром, ОС - Андроид, а движок Вебкит-Блинк".
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489505
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плагины не нужны, да.
только на них нормально и разрабатывают.

http://ru.tankiforum.com/index.php?showtopic=244342

Остальное всё за рамки бет и демок не вышло. Одни обещания уже годами.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489533
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320
Код: html
1.
<div align='center' ><img src='pic/zenchenko2.jpg'></div>


Чего же тогда на Stackoverflow всякие гуры [/quot]
на JS это делается влёт и незадумываясь. гуры думают о том, как озаботится тем, что бы работало у тех у кого нет JS.
более того, js это не замена css , а дополнение.
не зря говорят что html5===html+css3+js

Перефразируя Форда, "Вы можете писать кроссплатформенно, если ваш браузер Хром, ОС - Андроид, а движок Вебкит-Блинк".
да, нужно признать, что гугел, с ежемесячным обновлением версий задал планку под которую все подтянулись. FF,O,S.
ИЕ10 даже подтянулся
выбирай любой.

то что броузер может сейчас год назад было желательным, а 3 года назад невозможным.
WebSocket, DataStore,.....тут полный список http://caniuse.com/
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489537
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320плагины не нужны, да.
только на них нормально и разрабатывают.

http://ru.tankiforum.com/index.php?showtopic=244342

Остальное всё за рамки бет и демок не вышло. Одни обещания уже годами.
Если кто не понял, это на флеше.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489540
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-eruser7320
Код: html
1.
<div align='center' ><img src='pic/zenchenko2.jpg'></div>


Чего же тогда на Stackoverflow всякие гуры
на JS это делается влёт и незадумываясь. гуры думают о том, как озаботится тем, что бы работало у тех у кого нет JS.
более того, js это не замена css , а дополнение.
не зря говорят что html5===html+css3+js
Чтобы сделать простое выравнивание, нужен код?! Разметки недостаточно?! Замл смеётся над вашим ХТМЛем!

Изъёбство и костыли на каждом шагу. И чем больше я с ХТМЛем работаю, тем больше в этом убеждаюсь.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489542
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-er,

я не питаю иллюзий по поводу кроплотформенности.
но здаётся мне, что через годик другой wpf помрёт. да старые проекты ещё будут тянуть. новые наврятли.
останется ему только нишевая прослойка задач.

был тут форумчанин СеВа. если не ошибаюсь очень он радел за СильверЛайт. и где он теперь (СЛ).

наверное единственный минус html(5) это отражение его плюса. клиентский код нельзя защитить.
что попало в броузер можно испектировать. и узнать как оно тикает.
если это принципиально для коммерческого приложения, то тогда о хтмл можно забыть.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489548
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320! xalm смеётся над вашим ХТМЛcss! Разметки недостаточно
скорее наоборот. это html5 ржёт над потугами разработчиков внедрить 'css' в C#

то , что удобнее и рациональнее - делается на css. то что невозможно/сложно делается на JS.
особенно порадовали конструкции вида
Код: css
1.
2.
.MyStyle1   .MyStyle2{....}
.MyStyle1 ~ .MyStyle3{....}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489549
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее так
Код: css
1.
2.
.MyStyle1:hover   .MyStyle2{....}
.MyStyle1:hover ~ .MyStyle3{....}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489575
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erbeg-in-er,

я не питаю иллюзий по поводу кроплотформенности.
но здаётся мне, что через годик другой wpf помрёт. да старые проекты ещё будут тянуть. новые наврятли.
останется ему только нишевая прослойка задач.

был тут форумчанин СеВа. если не ошибаюсь очень он радел за СильверЛайт. и где он теперь (СЛ).

наверное единственный минус html(5) это отражение его плюса. клиентский код нельзя защитить.
что попало в броузер можно испектировать. и узнать как оно тикает.
если это принципиально для коммерческого приложения, то тогда о хтмл можно забыть.
Поэтому на ХТМЛе всё ноу-хау - на сервере. Только приложения-сервисы делать. Ну и всякие поделки-демки-бетки, которыми усеян инет и сюда ссылки на них накидали.

ВПФ не помрёт, пока:

1) не помрёт МС;
2) МС не предложит ему адекватную замену на своих десктопах;
3) МодернЮИ не предлагать.

beg-in-erточнее так
Код: css
1.
2.
.MyStyle1:hover   .MyStyle2{....}
.MyStyle1:hover ~ .MyStyle3{....}


Это что вообще и откуда?

В ВПФ стили - это неотделимая часть от разметки. Т. е. можно свойства задать в разметке, а можно - в стилях и вынести их отдельно.

В ХТМЛ стили - это дополнение для куцего ХТМЛ. Второй язык. Отдельно для стилей. Дублирует часть атрибутов ХТМЛ (Оккам негодует). Короче, затычка-костыль. И всё это, включая джаваскрипт, разными конторами курируется. В результате "у семи нянек дитя без глазу". И ведь находятся те, кто это всё говно защищает и ещё добавки просит - всякие дизигнеры и студенты, не выучившие нормальные языки и платформы для программирования.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489585
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erнаверное единственный минус html(5) это отражение его плюса. клиентский код нельзя защитить.
что попало в броузер можно испектировать. и узнать как оно тикает.
если это принципиально для коммерческого приложения, то тогда о хтмл можно забыть.
А зачем защищать клиентский код? Блэк бокс - это база, сервер приложений. А клиент свободен к просмотру. Опять же, есть еще секурити.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489596
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Это что вообще и откуда?
судя по такому вопросу ты не ознакомился с возможностями css.

В ВПФ стили - это неотделимая часть от разметки. Т. е. можно свойства задать в разметке, а можно - в стилях и вынести их отдельно.
а ничего , что данный подход чуть меньше , чем полностью скомунижжен из html-css ?
причём не в лучшем виде.

можно ли реализвать на wpf так же элегантно эту конструкцию
Код: css
1.
.MyStyle1:hover   .MyStyle2{background-color: rgba(0,0,20,0.3); width:100px;}


(при наведении мыши подчинённый объект меняет фон и ширину)

тема скатывается в холивар - что лучше wpf или html5. хотя ответ очевиден.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489597
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА зачем защищать клиентский код?
ответа на этот вопрос у меня нет.
а вдруг там сикретный скоростной алгоритм построения дерева на мильён элементов.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489657
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320В ХТМЛ стили - это дополнение для куцего ХТМЛ. Второй язык. Отдельно для стилей. Дублирует часть атрибутов ХТМЛ (Оккам негодует). Короче, затычка-костыль. И всё это, включая джаваскрипт, разными конторами курируется. В результате "у семи нянек дитя без глазу". И ведь находятся те, кто это всё говно защищает и ещё добавки просит - всякие дизигнеры и студенты, не выучившие нормальные языки и платформы для программирования.

нефиг катить бочку на технологию, которая постарше некоторых форумчаненов будет. эта технология жива, и жить будет, и помнёт под себя всякую нежизнепригодную мелочь типа WPF, SL, флеш и прочее всякое мелкое фуфло...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489733
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erМСУА зачем защищать клиентский код?
ответа на этот вопрос у меня нет.
а вдруг там сикретный скоростной алгоритм построения дерева на мильён элементов.
А виртуализация пользовательского интерфейса в ХТМЛ-ЦСС-Джаваскрипт есть? А все остальные секреты на сервере хранятся (включая построение логического дерева на мильён элементов).

hVosttuser7320В ХТМЛ стили - это дополнение для куцего ХТМЛ. Второй язык. Отдельно для стилей. Дублирует часть атрибутов ХТМЛ (Оккам негодует). Короче, затычка-костыль. И всё это, включая джаваскрипт, разными конторами курируется. В результате "у семи нянек дитя без глазу". И ведь находятся те, кто это всё говно защищает и ещё добавки просит - всякие дизигнеры и студенты, не выучившие нормальные языки и платформы для программирования.

нефиг катить бочку на технологию, которая постарше некоторых форумчаненов будет. эта технология жива, и жить будет, и помнёт под себя всякую нежизнепригодную мелочь типа WPF, SL, флеш и прочее всякое мелкое фуфло...
Вот я и говорю - находятся, которые хвалят и добавки просят - этого сборища устаревшего мусора и унаследованных стандартов.

beg-in-er user7320Это что вообще и откуда?
судя по такому вопросу ты не ознакомился с возможностями css.

В ВПФ стили - это неотделимая часть от разметки. Т. е. можно свойства задать в разметке, а можно - в стилях и вынести их отдельно.
а ничего , что данный подход чуть меньше , чем полностью скомунижжен из html-css ?
причём не в лучшем виде.

можно ли реализвать на wpf так же элегантно эту конструкцию
Код: css
1.
.MyStyle1:hover   .MyStyle2{background-color: rgba(0,0,20,0.3); width:100px;}


(при наведении мыши подчинённый объект меняет фон и ширину)

тема скатывается в холивар - что лучше wpf или html5. хотя ответ очевиден.
Какая разница, что у кого кто "украл"? Мы же не джобсы какие-нибудь, чтобы от недостатка реальной конкурентоспособности и попоподрывания патентовать чёрные прямоугольники и закруглённые углы (фаски). Главное, как это реализовано. И у ВПФ преимущество в отсутствии устаревшего наследия и накопленных ошибок - это как минимум.

Про стили. Наследование стилей. Или вы что-то другое имели ввиду?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489740
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-er
Код: css
1.
.MyStyle1:hover   .MyStyle2{background-color: rgba(0,0,20,0.3); width:100px;}


А можно ли в CSS сделать так, чтобы бэкграунд и ширина задавались по данным из модели?
В этом-то собственно и основной минус (для меня) html и css - отсутствие байндингов (и в этом же, а вовсе не в стилях как функциональности оформления - плюс WPF).
Ну, и еще у CSS очень куцый и примитивный синтаксис селекторов. Думаю, тому, кто их подтянет хотя бы до возможностей XPath 1.0, поставят памятник.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489747
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныbeg-in-er
Код: css
1.
.MyStyle1:hover   .MyStyle2{background-color: rgba(0,0,20,0.3); width:100px;}


А можно ли в CSS сделать так, чтобы бэкграунд и ширина задавались по данным из модели?
В этом-то собственно и основной минус (для меня) html и css - отсутствие байндингов (и в этом же, а вовсе не в стилях как функциональности оформления - плюс WPF).
Ну, и еще у CSS очень куцый и примитивный синтаксис селекторов. Думаю, тому, кто их подтянет хотя бы до возможностей XPath 1.0, поставят памятник.
У веб-верстальщиков на это всё один ответ - "все ваши выкрутасы легко делаются с помощью джаваскрипта". И байндинги, и анимации, и прочее. Три языка для решения одного типа задач - построения пользовательского интерфейса.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489751
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Сон Веры Павловныпропущено...

А можно ли в CSS сделать так, чтобы бэкграунд и ширина задавались по данным из модели?
В этом-то собственно и основной минус (для меня) html и css - отсутствие байндингов (и в этом же, а вовсе не в стилях как функциональности оформления - плюс WPF).
Ну, и еще у CSS очень куцый и примитивный синтаксис селекторов. Думаю, тому, кто их подтянет хотя бы до возможностей XPath 1.0, поставят памятник.
У веб-верстальщиков на это всё один ответ - "все ваши выкрутасы легко делаются с помощью джаваскрипта". И байндинги, и анимации, и прочее. Три языка для решения одного типа задач - построения пользовательского интерфейса.Зачем три? Можно и одним обойтись: JavaScript.

P.S.: а как в WPF реализуется возможность кастомизации интерфейса пользователем? К примеру у нас, да и в других CMS, пользователь может отдельно изменить разметку, как ему надо; отдельно стили, какие ему надо; отдельно код.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489752
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...

У веб-верстальщиков на это всё один ответ - "все ваши выкрутасы легко делаются с помощью джаваскрипта". И байндинги, и анимации, и прочее. Три языка для решения одного типа задач - построения пользовательского интерфейса.Зачем три? Можно и одним обойтись: JavaScript.

P.S.: а как в WPF реализуется возможность кастомизации интерфейса пользователем? К примеру у нас, да и в других CMS, пользователь может отдельно изменить разметку, как ему надо; отдельно стили, какие ему надо; отдельно код.
Вы сейчас говорите про программистов (верстальщиков) и гиков. Пользователь по определению не меняет стили, разметку и код. В ВПФ для таких изъёбств можно сделать (я так думаю) подгрузку замла на лету из файла, который (файл) уже может править кто угодно. Только зачем? Снова троллейбус из буханки хлеба? Пользователю максимум что можно позволить - это шкурки интерфейса и некоторые настройки элементов интерфейса, типа цвета и прочего.

Короче говоря, кастомизация интерфейса пользователем - это не возня в исходниках. Это удобный интерфейс для кастомизации интерфейса (понятно, да?). Смотри, например, Студию 2010, которая на ВПФ и в которой вполне кастомизируем интерфейс (Tools - Settings - где-то там).

Ну а так да, досгласен - ВПФ не позволяет сделать из буханки троллейбус.

Обойтись одним джаваскриптом - это "из буханки троллейбус".
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489753
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320skyANAпропущено...
Зачем три? Можно и одним обойтись: JavaScript.

P.S.: а как в WPF реализуется возможность кастомизации интерфейса пользователем? К примеру у нас, да и в других CMS, пользователь может отдельно изменить разметку, как ему надо; отдельно стили, какие ему надо; отдельно код.
Вы сейчас говорите про программистов (верстальщиков) и гиков. Пользователь по определению не меняет стили, разметку и код. В ВПФ для таких изъёбств можно сделать (я так думаю) подгрузку замла на лету из файла, который (файл) уже может править кто угодно. Только зачем? Снова троллейбус из буханки хлеба? Пользователю максимум что можно позволить - это шкурки интерфейса и некоторые настройки элементов интерфейса, типа цвета и прочего.

Короче говоря, кастомизация интерфейса пользователем - это не возня в исходниках. Это удобный интерфейс для кастомизации интерфейса (понятно, да?). Смотри, например, Студию 2010, которая на ВПФ и в которой вполне кастомизируем интерфейс (Tools - Settings - где-то там).

Ну а так да, досгласен - ВПФ не позволяет сделать из буханки троллейбус.

Обойтись одним джаваскриптом - это "из буханки троллейбус".
А ещё это называется "повышенные возможности прострелить себе ногу". У ВПФ они, по сравнению с ХТМЛ-ЦСС-ДС, пониженные.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489754
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, если не в теме, то сиди и помалкивай. Пользователи они разные: кому-то хватает удобного интерфейса, кому-то нет.

У меня есть статистика по 12000-ам нашим текущим клиентам, а у тебя что есть? Лишь свои домыслы.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489761
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320, если не в теме, то сиди и помалкивай. Пользователи они разные: кому-то хватает удобного интерфейса, кому-то нет.

У меня есть статистика по 12000-ам нашим текущим клиентам, а у тебя что есть? Лишь свои домыслы.
А, так вы о ЦМС. Тогда надо не о ВПФ говорить, а об инструментах, наверное? В Студии вы можете отдельно изменить разметку, отдельно - код, отдельно - стили (особенно, если вынесите их в отдельные файлы). Есть как визуальный редактор, так и текстовый. Вроде, в Бленд даже можно стили редактировать в отдельном визуальном редакторе.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489770
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320И байндинги, и анимации, и прочее.
Что-то типа байндингов в связке разметки и JS я видел только в одном исполнении - темплейты в мозилловском XUL. Во всех остальных случаях разметка не может сама обращаться к данным - их ей скармливает [js-]код, из которого идут обращения к объектам разметки.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489782
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныuser7320И байндинги, и анимации, и прочее.
Что-то типа байндингов в связке разметки и JS я видел только в одном исполнении - темплейты в мозилловском XUL. Во всех остальных случаях разметка не может сама обращаться к данным - их ей скармливает [js-]код, из которого идут обращения к объектам разметки.
Ммм... не понимаю, о чём вы говорите. Что значит "разметка сама обращается"? Есть односторонние байндинги, есть двухсторонние. Разметка "сама" навряд ли может. Может код. В ХТМЛ это остаётся делать только джаваскрипту, а в ВПФ - CLR.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489784
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

я про байндинги в ХТМЛ пока только в контексте knockoutjs знаю. Там очень похоже не то, что в ВПФ.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489811
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erМСУА зачем защищать клиентский код?
ответа на этот вопрос у меня нет.
а вдруг там сикретный скоростной алгоритм построения дерева на мильён элементов.Как только какой-либо код попадает на клиента, он перестает быть секретным. Клиентский код защитить от реверс-инжиниринга практически невозможно.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489820
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320skyANAuser7320, если не в теме, то сиди и помалкивай. Пользователи они разные: кому-то хватает удобного интерфейса, кому-то нет.

У меня есть статистика по 12000-ам нашим текущим клиентам, а у тебя что есть? Лишь свои домыслы.
А, так вы о ЦМС. Тогда надо не о ВПФ говорить, а об инструментах, наверное? В Студии вы можете отдельно изменить разметку, отдельно - код, отдельно - стили (особенно, если вынесите их в отдельные файлы). Есть как визуальный редактор, так и текстовый. Вроде, в Бленд даже можно стили редактировать в отдельном визуальном редакторе.Хорошо, давайте поговорим об инструментах. Студия и Бленд - это инструменты разработчика. А я спрашивал за пользователей.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489915
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Сон Веры Павловны,

я про байндинги в ХТМЛ пока только в контексте knockoutjs знаю. Там очень похоже не то на то , что в ВПФ.



skyANAuser7320пропущено...

А, так вы о ЦМС. Тогда надо не о ВПФ говорить, а об инструментах, наверное? В Студии вы можете отдельно изменить разметку, отдельно - код, отдельно - стили (особенно, если вынесите их в отдельные файлы). Есть как визуальный редактор, так и текстовый. Вроде, в Бленд даже можно стили редактировать в отдельном визуальном редакторе.Хорошо, давайте поговорим об инструментах. Студия и Бленд - это инструменты разработчика. А я спрашивал за пользователей.
Вы говорите об инструменте, который позволяет пользователю создавать сайты? Только это в контексте веба, а в контексте десктопа - создавать приложения? Пользователю?

Кажется, тут путаница или с терминами ("пользователь" - "разработчик"), или с назначением ПО.

Если речь идёт о ЦМС для разработки сайтов, то это уже разработчик (сайтов). В то же время он пользователь (ЦМС). Тогда для первого случая - вот вам работа с кодом и визуальные редакторы, а для второго - вот вам кастомизация ЮИ Студии (её самой, а не программ, с помощью неё созданных).

Если же вы имели ввиду простые приложения для десктопа (прям совсем простые, аналоги ЦМС), позволяющие создавать другие приложения (аналоги сайтов), то я таких сходу не припомню. Может, какие-нибудь поделки для детей, изучающих программирование в школе - какие-нибудь цветные кубики с готовыми шаблонами кода - такие, вроде, есть. Может, LabVIEW . Однако, как это относится к недостаткам ВПФ? Я уверен, что на ВПФ можно сделать аналог ЦМС для декстопа, но зачем?

Вобщем, чего это я всё гадаю, да гадаю? Поясните уже, что вы имеете ввиду?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38489993
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...

Во всём Дотнете и вообще в Сишарпе такой задачи не ставилось. Ставилась задача управляемости кодом и скорости разработки. Но приходят бородачи и начинают ныть "в наши дни Си был без плюсов и уж тем более без всяких там решёток...".

пропущено...

Так в том-то и штука, что мне говорили, что за лямбды и Линк будут бить. А что конкретно им не нравилось - не говорили. Были мои лямбды говнокодом или они в них даже не вникали... Создаётся впечатление, что как увидели лямбду, так не разбираясь сразу глаза красные и дым из носа.Ну давай посмотрим на твой код:user7320Я уже и сам не помню, что эта штука делает - попробуйте понять из кода. Завтра вспомню - скажу.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
MyModel.Recommendations =
    preparation.Recommendations
    .OrderBy<DBLibrary.Recommendation, ICollection<DBLibrary.Group>>(
        r => r.Groups,
        Comparer<ICollection<DBLibrary.Group>>.Create(
            (x, y) =>
                x
                .OrderBy(g => g.Name)
                .FirstOrDefault()
                .Name
                .CompareTo(
                    y
                    .OrderBy(g => g.Name)
                    .FirstOrDefault()
                    .Name)))
    .Select(r => new RecommendationForModel()
    {
    	...
    })
    .ToList()
    .AsReadOnly();

1. Ты уже сам не помнишь, что он у тебя делает;
2. У тебя в одном выражении и выбор из бд, и mapping (нарушение принципа единственной обязанности). Да и RecommendationForModel - это ViewModel у тебя, насколько я помню. И если клиенту потребуется JSON, или XML, или другой формат ViewModel, то что ты будешь делать, копипастить и править своё выражение?
3. FirstOrDefault() может вернуть null и упадёт исключение из которого ни фига не понятно, в каких данных проблема.

Остальные замечания будт после того, как ты вспомнишь, что делает твой код
"Не помню" - это я пошутил для усиления метафоры. ))

Теперь объясняю. Структура данных у меня - модель, у которой есть коллекция рекомендаций. У каждой рекомендации есть коллеция групп. Нужно отсортировать рекомендации по коллекции групп. Т. е. сначала должна идти рекомендация, где группы, начинающиеся на "а", потом - где на "б" и т. д. Как это сказать обобщённо на словах, я не знаю - сложно сильно. Наверное, так: первой рекомендацией будет та, у которой найдётся хотя бы одна группа, стоящая по алфавитному порядку впереди групп всех остальных рекомендаций. Приведу пример модели:

название рекомендации список группаааааа
ббб
яяяааа
ввв
бббббб
ввв
вввббб
яяя


Ну, с созданием компаратора через делегат Comparison<T> всё должно быть понятно. Далее, как компаратор используется для сортировки. Поскольку свойство для сортировки у меня - коллекция, то по ней сразу так не отсортируешь - нужно задать что-то вменяемое. Поэтому я сначала сортирую коллекцию групп (параметр "х" в лямбде) по названиям групп, а потом беру название первой группы из коллеции. Затем делаю то же самое со второй коллецией групп (параметр "у" в лямбде). И вот уже, имея два названия групп - от каждой сортированной коллеции групп по названию первой группы - я их сравниваю.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490006
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Ну, с созданием компаратора через делегат Comparison<T> всё должно быть понятно. Далее, как компаратор используется для сортировки. Поскольку свойство для сортировки у меня - коллекция, то по ней сразу так не отсортируешь - нужно задать что-то вменяемое. Поэтому я сначала сортирую коллекцию групп (параметр "х" в лямбде) по названиям групп, а потом беру название первой группы из коллеции. Затем делаю то же самое со второй коллецией групп (параметр "у" в лямбде). И вот уже, имея два названия групп - от каждой сортированной коллеции групп по названию первой группы - я их сравниваю.
Насчёт ПервыйИлиУмолчальный(). Пусто в коллекции групп быть не должно. Но может. Поскольку сравниваются типы, то в случае отсутствия групп вернётся null. И тут проблем нет. Проблема, что идёт обращение к полю Number для null. И тут у меня ошибка. И я прошу помощи, как её избежать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490014
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, ну то есть у тебя Data Layer, Model и ViewModel смешались в кучу в одном выражении. Круто чё.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490017
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё могу добавить, что названия типов в лямбде я написал, потому что CLR не смог вывести типы автоматически - сложная для него лямбда попалась, наверное. ))) Поэтому выглядит эта лямбда так монструозно. Без типов-то она помельче выглядит. ))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490026
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320, ну то есть у тебя Data Layer, Model и ViewModel смешались в кучу в одном выражении. Круто чё.
Слой данных - да. Я работу с данным в отдельный слой не выносил - моя ошибка. А так вообще это сайт, а не ВПФ-приложение (я, наверное, забыл это упомянуть). Поэтому тут только модель - модель представления на js у клиента.

Если без смешивания работы с данным и модели, что ещё не так? Я именно про лямбды хочу узнать - за что за них бьют?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490034
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320skyANAuser7320, ну то есть у тебя Data Layer, Model и ViewModel смешались в кучу в одном выражении. Круто чё.
Слой данных - да. Я работу с данным в отдельный слой не выносил - моя ошибка. А так вообще это сайт, а не ВПФ-приложение (я, наверное, забыл это упомянуть). Поэтому тут только модель - модель представления на js у клиента."Нужно отсортировать рекомендации по коллекции групп. Т. е. сначала должна идти рекомендация, где группы, начинающиеся на "а", потом - где на "б" и т. д." - это представление чистой воды.
user7320Если без смешивания работы с данным и модели, что ещё не так? Я именно про лямбды хочу узнать - за что за них бьют?Отдели данные от модели и представления, получишь другой код, тогда и будем обсуждать, что не так. За лямбды не бьют, бьют за вот такое их использование.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490044
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Насчёт ПервыйИлиУмолчальный(). Пусто в коллекции групп быть не должно. Но может. Поскольку сравниваются типы, то в случае отсутствия групп вернётся null. И тут проблем нет. Проблема, что идёт обращение к полю Number для null. И тут у меня ошибка. И я прошу помощи, как её избежать.Если отсутствие групп - это исключительная ситуация, то логично кидать соответсвующее исключение и соответсвующим образом его обрабатывать (сообщение пользователю показывать, или ещё что), а не получать фиг знает о чём говорящее Object null reference exception.
Будет твой продукт кто-нибудь поддерживать, пожалуется ему пользователь. Посмотрит человек логи и ни фига не поймёт, что происходит.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490051
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320user7320Сон Веры Павловны,

я про байндинги в ХТМЛ пока только в контексте knockoutjs знаю. Там очень похоже не то на то , что в ВПФ.



skyANAпропущено...
Хорошо, давайте поговорим об инструментах. Студия и Бленд - это инструменты разработчика. А я спрашивал за пользователей.
Вы говорите об инструменте, который позволяет пользователю создавать сайты?Не создавать, а кастомизировать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490239
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...




пропущено...

Вы говорите об инструменте, который позволяет пользователю создавать сайты?Не создавать, а кастомизировать.
Т. е. есть сайт, а я инструменту указываю, как он должен выглядеть? Скажем, натравливаю этот инструмент на Ютуб и чего-нибудь с его интерфейсом делаю?

Я не могу понять, зачем пользователю кастомизировать чьи-то сайты. Если свои - то он это делает при создании. Т. е. он разработчик. Если чужие - зачем ему это надо? Порушит чего-нибудь, а обвинит потом разработчиков. Потом отвечай или задабривай его, убеждай, что это не мы, разработчики, дураки, а он.

Вы, наверное, про что-то типа Opera Dragonfly? Там можно откастомизировать и сохранить результат. Потом браузеру указать, что для этого сайта такие-то стили использовать. Ну так это относится к инструментам разработки. Обычные пользователи в большинстве своей массы такой фигнёй не маются.

Ещё могу сказать, что все эти изъёбства с подменой стилей сайта на собственные - из-за нестандартизированного интерфейса веб-приложений. Каждый извращается во что горазд, вот и делают иногда негодное к использованию говно. Тогда да, хоть свой ЮИ пиши.

Ещё могу представить такой вариант, что вы делаете набор сервисов, а пользователям даёте конструктор ЮИ к ним. Чтобы они сами себе там наконфигурировали, как им нравится. Ну так это опять к разработке и созданию инструментов разработки относится. Да и больше на извращения попахивает. В любом случае, запрограммировать можно любой инструмент разработки и на ВПФ - хоть с какими изъёбствами. Другое дело, что это будет уже не просто троллейбус из буханки, а ещё и через жопу. Если ваша задача - удовлетворять извращенцев, то да, ХТМЛ+ЦСС+ДС для этого, наверное, лучше подходят, чем ВПФ. ВПФ, всё же, для более нормальных людей придуман.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490291
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320 ВПФ, всё же, для более нормальных людей придуман.
я могу впф запустить на ведроиде или яблоке?
нет?
ну это и есть приговор.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490303
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, нет, всё не так.

К примеру есть CMS WordPress, пользователь делает себе на ней сайт, используя один из 100500 шаблонов, которые под WordPress нафигачили. Всё ок.

Дальше пользователи делятся на сл. типы:
1. тех, кого устраивает один из готовых шаблонов;
2. тех, кто хочет какую-то часть элементов шаблона кастомизировать под себя;
3. тех, кого не устраивает ни готовый, ни кастомизированный шаблон, они хотят свой.

Первых большинство. Но и вторых, и третьих хватает. Я про вторых.
Они не разрабатываю шаблон, не допиливают WordPress, они кастомизируют.

У нас в WildApricot тоже есть CMS, тоже есть готовые шаблоны (у нас это называется темы), но их мало, по сравнению с WordPress, т.к. у нас всего два разработчика тем :)

Соттветсвенно процент людей из п.2 и п.3 у нас выше.

Надеюсь теперь понятно, кто разработчики, а кто пользователи?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490316
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё есть такое слово - брендинг. Вот продаём мы сл. софт: мобильный-банк. Это БД, админко, сервис для интеграции с АБС клиента (клиенты - это банки) и мобильное приложение для пользователей (клиенты банка).
У банка уже есть свой бренд: корпоративные цвета, сайт, логотип. Возникает необходимость кастомизации интерфейса мобильного приложения под конкретного заказчика.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490323
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мобильное приложение гибридное, или веб, то вопрос решается кастомизацией CSS. А если нативное, в нашем случае Silverlight, то как?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490353
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЕсли мобильное приложение гибридное, или веб, то вопрос решается кастомизацией CSS.
Пфф. CSS - это только цвета/шрифты/выравнивания. Изменить разметку с его помощью не выйдет.
На WPF вполне реально сделать кастомизируемый интерфейс, и даже с подобием изменения раскладки (разметки), если использовать библиотеки типа AvalonDock и кастомные темы (последних в инетах предостаточно). Поле для различных извращений тут весьма обширное, вплоть до сериализации xaml шаблонов custom/content controls (т.е. именно кастомной разметки) в настройки пользователя, и подгрузки их на рантайме - где-то такое пробегало на кодепроджекте. Но это как-то не особенно востребовано - поскольку, думаю, не особенно нужно.
А пример с вордпрессом показателен, ага - прикручивание рюшечек к своей днявке :) Я, конечно, понимаю, что это тоже весьма востребованная рыночная ниша, но лично для меня она как-то остается в стороне.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490377
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erМСУА зачем защищать клиентский код?
ответа на этот вопрос у меня нет.
а вдруг там сикретный скоростной алгоритм построения дерева на мильён элементов.
Клиентский код не защищают ибо это бессмысленное занятие.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490393
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.

AvalonDock и кастомные темы - вот это уже разговор. Но как пользователю с этим работать?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490398
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныПоле для различных извращений тут весьма обширное, вплоть до сериализации xaml шаблонов custom/content controls (т.е. именно кастомной разметки) в настройки пользователя, и подгрузки их на рантайме - где-то такое пробегало на кодепроджекте.++

зы: При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490404
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.
Ну тебе ж сказали, XAML как текст можно спокойно рендерить руками.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490418
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
набор псевдоклассов типа hover ... или свойства transition/animation тоже позволяют менять поведение.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490431
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAvalonDock и кастомные темы - вот это уже разговор. Но как пользователю с этим работать?
С AvalonDock - так же, как и в студии, перетаскиванием мышкой - он весьма похож на систему окон/вкладок в студии.
С кастомными темами - подключением соответствующих библиотек тем, и сменой их га рантайме или в зависимости от настроек пользвателя. Я некогда делал проект для переключения тем из стандартной поставки (Aero/Classic/Royale.NormalColor/Luna.NormalColor/Luna.HomeStead/Luna.Metallic) - темы в сервисе переключались как-то так:
Код: c#
1.
2.
3.
4.
5.
6.
void ApplyTheme(Uri themeUri)
{
  var rd = Application.LoadComponent(themeUri) as ResourceDictionary;
  Application.Current.Resources.MergedDictionaries.Clear();
  Application.Current.Resources.MergedDictionaries.Add(rd);
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490432
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320, нет, всё не так.

К примеру есть CMS WordPress, пользователь делает себе на ней сайт, используя один из 100500 шаблонов, которые под WordPress нафигачили. Всё ок.

Дальше пользователи делятся на сл. типы:
1. тех, кого устраивает один из готовых шаблонов;
2. тех, кто хочет какую-то часть элементов шаблона кастомизировать под себя;
3. тех, кого не устраивает ни готовый, ни кастомизированный шаблон, они хотят свой.

Первых большинство. Но и вторых, и третьих хватает. Я про вторых.
Они не разрабатываю шаблон, не допиливают WordPress, они кастомизируют.

У нас в WildApricot тоже есть CMS, тоже есть готовые шаблоны (у нас это называется темы), но их мало, по сравнению с WordPress, т.к. у нас всего два разработчика тем :)

Соттветсвенно процент людей из п.2 и п.3 у нас выше.

Надеюсь теперь понятно, кто разработчики, а кто пользователи?
Ну, это же про сайты. Там, как я сказал, интерфейсы не стандартизированы. ВПФ - это десктоп. Там всё стандартизировано. Но в том-то и штука, что ВПФ создавался в т. ч. и для поддержки изъёбств нестандартных интерфейсов. Насколько я знаю, Замл интерпретируется, а не компилируется. Так что можно обойтись без компиляции кода налету (выше, вроде, уже про это написали). Да, это будет не так же просто, как тупо открыть ЦССку в Блокноте и чего-нибудь там подправить - придётся нагородить в своём проекте инфраструктуру для поддержки "открыл замл в Блокноте, поправил, сохранил - ЮИ поменялся без перезапуска приложения". Сложнее, чем на ХТМЛ-ЦСС, но можно.

Про Сильверлайт не знаю, можно ли на нём так делать. Мы (все тутошние обитатели и вообще), вроде, его уже похоронили, нет?

skyANAЕсли мобильное приложение гибридное, или веб, то вопрос решается кастомизацией CSS. А если нативное, в нашем случае Silverlight, то как?
Что, не хотите писать стили на Замле? Или ЦССовские стили на Замл один-в-один (или хотя бы очень близко к этому) не переводятся? Пишите свой парсер-переводчик ЦСС в Замл. Может, и готовые даже есть. Экспорт из 3Д Макса и Блендера в Замл уже давно понаписали.

А вообще, разве не переводится Замл в ХТМЛ-ЦСС и обратно почти один-в-один? Если на Вин8 можно делать ЮИ и так и так?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490438
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Насколько я знаю, Замл интерпретируется, а не компилируется
обычно он компилируется в baml.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490448
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.

AvalonDock и кастомные темы - вот это уже разговор. Но как пользователю с этим работать?
У вас пользователь работает с кодом и разметкой, или это визуальный редактор, да ещё визивиг какой-нибудь? Если второе - то просто делаете свой удобный аналог Бленда. Если первое - то пусть изучает учебник по ВПФ (по ХТМЛю же изучил).

Алексей КСон Веры ПавловныПоле для различных извращений тут весьма обширное, вплоть до сериализации xaml шаблонов custom/content controls (т.е. именно кастомной разметки) в настройки пользователя, и подгрузки их на рантайме - где-то такое пробегало на кодепроджекте.++

зы: При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
Вы хотели сказать, attached behaviours? Я поработал с ними. И хочу сказать, что стандартной реализации, входящей в .NET Framework, нет. Есть самоделки разные, есть беблиотечка из Бленда (ИМХО, не самая удобная и развитая). Поэтому, возможно, придётся пописать что-нибудь своё, аналогичное.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490452
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторАлексей Кзы: При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
Вы хотели сказать, attached behaviours? Я поработал с ними. И хочу сказать, что стандартной реализации, входящей в .NET Framework, нет. Есть самоделки разные, есть беблиотечка из Бленда (ИМХО, не самая удобная и развитая). Поэтому, возможно, придётся пописать что-нибудь своё, аналогичное.
Я раньше вообще думал, что это что-то типа свойства в разметке или класса - задал и получил результат. Оказалось, что это сложнее - набор подходов, использующий прикрепляемые своства. Соответственно, у каждого может быть немного своя реализация. В Бленде, вроде, нельзя прикрепить несколько поведений к одному контролу, а в некоторых самоделках - можно.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490472
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей Кпропущено...
++

зы: При этом, используя ControlTemplate и AttachedProperty, стилями можно изменять не только внешний вид, но и поведение.
Вы хотели сказать, attached behaviours? Я поработал с ними. И хочу сказать, что стандартной реализации, входящей в .NET Framework, нет. Есть самоделки разные, есть беблиотечка из Бленда (ИМХО, не самая удобная и развитая). Поэтому, возможно, придётся пописать что-нибудь своё, аналогичное.Нет. Я хотел сказать именно то что написал. :-)

Attached Property - родная фича WPF. Их можно назначать стилями. Attached Behavior (Expression Blend SDK) стилем напрямую не назначить (можно через промежуточное Attached Property), поэтому про них молчу. Но это тоже полезная штука.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490486
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320В Бленде, вроде, нельзя прикрепить несколько поведений к одному контролу.
Можно сколько угодно
Код: xml
1.
2.
3.
4.
5.
6.
7.
<MyControl>
    <Interaction.Behaviors>
        <MyBehavior1/>
        <MyBehavior2/>
        <MyBehaviorN/>
    </Interaction.Behaviors>
</MyControl>
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490493
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, мы отклонились от темы. Все знают, что XAML достаточно гибкий язык, но технология умирает и WPF уходит в небытие, остается только HTML5 + JS + CSS3. Давайте лучше о гибкости ASP.NET MVC5 обсудим :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490502
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУно технология умирает и WPF уходит в небытиеНе дождёшься.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490517
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДрузья, мы отклонились от темы. Все знают, что XAML достаточно гибкий язык, но технология умирает и WPF уходит в небытие, остается только HTML5 + JS + CSS3. Давайте лучше о гибкости ASP.NET MVC5 обсудим :)
Вы так говорите, потому что не освоили ВПФ 3Д.

И ModernUI же ещё остаётся. Хоть WinRT и "забанят" скоро, но МодернЮИ в Вин8.х остаётся.

А это, если МодернЮИ - это только ЮИ, его можно использовать с Дотнетом, вместо ВПФ?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490520
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAСон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.
Ну тебе ж сказали, XAML как текст можно спокойно рендерить руками.Я понял. Интересуюсь подробностями. Какие проблемы?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490522
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе дождёшься.
Давай смотреть правде в глаза :)


user7320Вы так говорите, потому что не освоили ВПФ 3Д.
Так я его нигде не освоил, ни в вебе, ни в винформс и даже ни в SQL
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490527
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЯ понял. Интересуюсь подробностями. Какие проблемы?
Ну какие тут подробности, взял тупо за хост какую-нить панель и начал всасывать туда XAML. Классика, всё как везде.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490530
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Что, не хотите писать стили на Замле?Я всё хочу. Интересуюсь вопросом: как. Простой вроде вопрос, не понимаю, что ты всё его как-то извращённо пытаешься интерпретировать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490531
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320В Бленде, вроде, нельзя прикрепить несколько поведений к одному контролу.
Можно сколько угодно
Код: xml
1.
2.
3.
4.
5.
6.
7.
<MyControl>
    <Interaction.Behaviors>
        <MyBehavior1/>
        <MyBehavior2/>
        <MyBehaviorN/>
    </Interaction.Behaviors>
</MyControl>


Я, наверное, не так понял - уже подзабыл, про что там. Вобщем, посмотрите по ссылке . Там видите, как сделано - поведение сделано в разметке так, что остаётся только указать событие, команду (или метод) модели и параметр. Всё. А в блендовских надо КАЖДОЕ поведение описать, унаследовав от базового поведения из блендовской библиотечки. А я писал это - два экрана кода на пару-тройку методов. Сравните: писать два экрана по каждому пустяку, и просто в разметке указать, что с чем связать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490536
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНе дождёшься.
Давай смотреть правде в глаза :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490539
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320Что, не хотите писать стили на Замле?Я всё хочу. Интересуюсь вопросом: как. Простой вроде вопрос, не понимаю, что ты всё его как-то извращённо пытаешься интерпретировать.
Ну как, через ResourceDictionary вестимо.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490547
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Вобщем, посмотрите по ссылке . Там видите, как сделано - поведение сделано в разметке так, что остаётся только указать событие, команду (или метод) модели и параметр. Всё. А в блендовских надо КАЖДОЕ поведение описать, унаследовав от базового поведения из блендовской библиотечки. А я писал это - два экрана кода на пару-тройку методов. Сравните: писать два экрана по каждому пустяку, и просто в разметке указать, что с чем связать.В бленде для этого используется EventToCommandTriggerAction (название точно не помню). Применение аналогичное.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490552
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320skyANAСон Веры Павловны, речь не о том, что кастомизируется при помощи CSS, а что при помощи HTML. Меня интересует как это делается в WPF, Silverlight.

AvalonDock и кастомные темы - вот это уже разговор. Но как пользователю с этим работать?
У вас пользователь работает с кодом и разметкой, или это визуальный редактор, да ещё визивиг какой-нибудь?Я уже писал, что пользователи разные: кому-то хватает визуального редактора, кто-то более прокаченный делает свои кастомные фишки на CSS и HTML.
user7320Если второе - то просто делаете свой удобный аналог Бленда. Если первое - то пусть изучает учебник по ВПФ (по ХТМЛю же изучил).Хм. Удивительно от тебя слышать такой совет.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490558
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAпропущено...
Я всё хочу. Интересуюсь вопросом: как. Простой вроде вопрос, не понимаю, что ты всё его как-то извращённо пытаешься интерпретировать.
Ну как, через ResourceDictionary вестимо.
МСУ сидит на 3.5 Дотнете - спалился. Ахаха!!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38490565
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAuser7320пропущено...

У вас пользователь работает с кодом и разметкой, или это визуальный редактор, да ещё визивиг какой-нибудь?Я уже писал, что пользователи разные: кому-то хватает визуального редактора, кто-то более прокаченный делает свои кастомные фишки на CSS и HTML.
user7320Если второе - то просто делаете свой удобный аналог Бленда. Если первое - то пусть изучает учебник по ВПФ (по ХТМЛю же изучил).Хм. Удивительно от тебя слышать такой совет.
Какие-то пользователи не такие...
[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38494679
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ бленде для этого используется EventToCommandTriggerAction (название точно не помню). Применение аналогичное.
Попробовал поколупать этот бленд, такая редкостная гадость. И как там можно что-то делать...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495011
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВ бленде для этого используется EventToCommandTriggerAction (название точно не помню). Применение аналогичное.
Попробовал поколупать этот бленд, такая редкостная гадость. И как там можно что-то делать...
Если вы про вривязки команд к событиям, то покажите, где лучше? В других-то местах (кроме ссылок, что я выше давал, и тому подобного - но это самописное и будет ли автор это поддерживать - неизвестно) вообще ничего подобного нет. Родное ВПФовское - по одной команде к трём-четырём контролам и только на одно их событие. Почитайте тут про проблему http://msdn.microsoft.com/en-us/magazine/dn237302.aspx (раздел "Commands for Every Element"). Если это действительно удобно также, как там, где я ссылки давал, то это просто замечательно.

Вы либо не работали с командами ВПФ (там достаточно немного углубиться, чтобы понять, как там всё ограничего), либо знаете что-то значительно более крутое чем стандартные команды и то, что я и Алексей предложили. Как я сказал, прикрепляемые поведения, если их с нуля писать - не то. Много кода и мало толка, хотя и будет работать. А хочется, чтобы из коробки дали фреймворк для удобного решения проблем, что по ссылке в статье обозначены. А если ещё это официально будет поддерживаться командами МСа, то вообще хорошо. Дотнет вообще хорошь тем, что не надо самому всё писать. Как раньше разрабатывали и как на консолях пишут - "половину времени мы потратили, чтобы написать своего рода сборщик мусора". Не любят себя там разработчики.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495014
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВ бленде для этого используется EventToCommandTriggerAction (название точно не помню). Применение аналогичное.
Попробовал поколупать этот бленд, такая редкостная гадость. И как там можно что-то делать...
Я кстати, оттуда и не беру всё. Пока пользовался только DelegateCommand и вот эти привязки команд к событиям сейчас попробую. Даже если Бленд фигня, у него всё равно могут быть несколько жемчужин, которые и надо вытащить и использовать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495059
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320. Дотнет вообще хорошь тем, что не надо самому всё писать
это только на первый взгляд
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495076
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А хочется, чтобы из коробки дали фреймворк. Пожалуйста. :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495078
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВ бленде для этого используется EventToCommandTriggerAction (название точно не помню). Применение аналогичное.
Попробовал поколупать этот бленд, такая редкостная гадость. И как там можно что-то делать...Не знаю, самим Блендом не пользовался. А SDK у него полезный.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495094
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Если вы про вривязки команд к событиям
Я не понимаю, причем тут привязки команд к событиям. Или пользоваться блендом нужно именно для привязки команд к событиям?

user7320покажите, где лучше?
VS

user7320Вы либо не работали с командами ВПФ
Я не работал с "командами WPF".

user7320Дотнет вообще хорошь тем, что не надо самому всё писать.
Как-раз таки наоборот. В дотнете всё написано за тебя, нужно лишь брать и использовать.

Алексей КНе знаю, самим Блендом не пользовался
Вот я и не понимаю, нах он нужен.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495101
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Если вы про вривязки команд к событиям, то покажите, где лучше?О, а давайте FRP (functional reactive programming) обсудим
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495107
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНе знаю, самим Блендом не пользовался
Вот я и не понимаю, нах он нужен.Ну там можно мышом всё делать, "как в Delphi" :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495135
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу там можно мышом всё делать, "как в Delphi" :-)
Так студийности никто не отменял, даже дельфи не понадобится
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495215
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320А хочется, чтобы из коробки дали фреймворк. Пожалуйста. :-)
Ничё там не понял. Вы дайте ссылку, где вкратце будет описание и ссылка на скачивание ДЛЛки, которую я засобачу в свой проект и будут команды привязываться к событиям, с параметрами команд и поддержкой нескольких таких привязок на контрол. Ещё желательно на каждую такую привязку чтобы не один параметр, а несколько (чтобы в сложный объект не пихать). И чтобы всё работало.

Изопропилuser7320. Дотнет вообще хорошь тем, что не надо самому всё писать
это только на первый взгляд
Дотнет это примерно как Айфон, только в программировании. (С)

Только Айфон и к пятой версии не сильно функционалом и параметрами блещет, а Дотнет ещё до четвёртой порвал все конкурирующие фреймворки по функциональности и широте охвата.

МСУuser7320Если вы про вривязки команд к событиям
Я не понимаю, причем тут привязки команд к событиям. Или пользоваться блендом нужно именно для привязки команд к событиям?

user7320покажите, где лучше?
VS

user7320Вы либо не работали с командами ВПФ
Я не работал с "командами WPF".
Алексей правильно поправил - СДК блендовоское я имел ввиду.

МСУuser7320Дотнет вообще хорошь тем, что не надо самому всё писать.
Как-раз таки наоборот. В дотнете всё написано за тебя, нужно лишь брать и использовать.
А я про что?

Алексей КМСУпропущено...

Попробовал поколупать этот бленд, такая редкостная гадость. И как там можно что-то делать...Не знаю, самим Блендом не пользовался. А SDK у него полезный.
Читал, что с помощью него легко делать новые контролы, основанные на готовых контролах (типа кнопок и прочего). В том смысле, что замл темплейта и стилей контрола легко вытаскивается, а затем копипастится в свой шаблон. А как не в Бленде это сделать - я не знаю. Вроде, программно можно. Но можно ли программно это сделать быстро - в одну строчку или типа того - и потом также быстро закопипастить в свой шаблон.


skyANAuser7320Если вы про вривязки команд к событиям, то покажите, где лучше?О, а давайте FRP (functional reactive programming) обсудим
Меня, честно говоря, уже задолбало бесконечно всё обсуждать. Надоело, что на каждый чих надо проводить исследование - "возьмём 3... нет, 5 фреймворков и фреймворкочек и протестируем их все, потом выберем лучший и будем его использовать". И так раз в год минимум - а вдруг чё новое появилось. По неделе уходит так на каждый чих. Хочется уже взять первое попавшееся и чтобы оно работало. ЗАДОЛБАЛО мучаться проблемой выбора.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495224
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Дотнет это примерно как Айфон, только в программировании. (С)
у айфона тоже есть SDK
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495251
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Меня, честно говоря, уже задолбало бесконечно всё обсуждать. Надоело, что на каждый чих надо проводить исследование - "возьмём 3... нет, 5 фреймворков и фреймворкочек и протестируем их все, потом выберем лучший и будем его использовать". И так раз в год минимум - а вдруг чё новое появилось. По неделе уходит так на каждый чих. Хочется уже взять первое попавшееся и чтобы оно работало. ЗАДОЛБАЛО мучаться проблемой выбора.А ты разберись в том, как оно работает. Легче будет.
Хотя сдаётся мне, что тебе наоборот нужен инструмент, чтобы за тебя всё делал.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495253
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей Кпропущено...
Пожалуйста. :-)
Ничё там не понял. Вы дайте ссылку, где вкратце будет описание и ссылка на скачивание ДЛЛки, которую я засобачу в свой проект и будут команды привязываться к событиям, с параметрами команд и поддержкой нескольких таких привязок на контрол. Ещё желательно на каждую такую привязку чтобы не один параметр, а несколько (чтобы в сложный объект не пихать). И чтобы всё работало.Так в Blend SDK для этого есть готовый TriggerAction (название точно не помню). Если интересно, вот моя вариация на эту тему. Используется так же как родной блендовский.

user7320Читал, что с помощью него легко делать новые контролы, основанные на готовых контролах (типа кнопок и прочего). В том смысле, что замл темплейта и стилей контрола легко вытаскивается, а затем копипастится в свой шаблон. А как не в Бленде это сделать - я не знаю. Вроде, программно можно. Но можно ли программно это сделать быстро - в одну строчку или типа того - и потом также быстро закопипастить в свой шаблон.К проекту можно подцепить тему приложения в виде XAML. После этого в VS можно будет спокойно копипастить фрагменты оттуда в свои контролы вручную.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495264
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей правильно поправил - СДК блендовоское я имел ввиду.
Причем тут SDK? Как часто ты "вяжешь команды к событиям" с помощью SDK?

user7320МСУКак-раз таки наоборот. В дотнете всё написано за тебя, нужно лишь брать и использовать.
А я про что?
А ты про наоборот.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495286
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320Алексей правильно поправил - СДК блендовоское я имел ввиду.
Причем тут SDK? Как часто ты "вяжешь команды к событиям" с помощью SDK? Класс TriggerAction живёт в System.Windows.Interactivity.dll, которая является частью Expression Blend SDK.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495291
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320, попутал ссылки, вот правильные: вот и тему приложения .
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495295
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ККласс TriggerAction живёт в System.Windows.Interactivity.dll, которая является частью Expression Blend SDK.
Я имел ввиду "вязать события" мышкой в дизайнере, мы же про это вроде.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495300
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей ККласс TriggerAction живёт в System.Windows.Interactivity.dll, которая является частью Expression Blend SDK.
Я имел ввиду "вязать события" мышкой в дизайнере, мы же про это вроде.Не обращай внимания, тут каждый про своё.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495348
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе обращай внимания, тут каждый про своё.
Но в целом мембер user7320 зачётный перец. Можно из него за пару лет слепить честного тролля-знатока, есть в нём запал добра :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495663
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Хочется уже взять первое попавшееся и чтобы оно работало. ЗАДОЛБАЛО мучаться проблемой выбора.

(злобный хохото) МУХАААААхАХАХАХААХАХАХАХА
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495666
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТак в Blend SDK для этого есть готовый TriggerAction (название точно не помню). Если интересно, вот моя вариация на эту тему. Используется так же как родной блендовский.
Алексей Кuser7320, попутал ссылки, вот правильные: вот и тему приложения .
А зачем ваша вариация, если "так же, как родной блендовский"? Я вот глянул в ваш код. Как-то у вас проще, вроде как. У меня сделано так (передрал откуда-то из МСДНа):

вот, собственно, регистрирую прикрепляемые свойства для ОДНОГО события (MouseDown):

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;

namespace WpfApplication1.CommandBehaviors
{
    public static class MouseDown
    {
        #region Attached properties

        #region Command property
        
        public static readonly DependencyProperty CommandProperty =
            DependencyProperty.RegisterAttached(
            "Command",
            typeof(ICommand),
            typeof(MouseDown),
            new PropertyMetadata(MouseDown.OnCommandPropertyChanged));

        public static ICommand GetCommand(UIElement element)
        {
            return (ICommand)element.GetValue(MouseDown.CommandProperty);
        }

        public static void SetCommand(UIElement element, ICommand value)
        {
            element.SetValue(MouseDown.CommandProperty, value);
        }

        #endregion Command property

        #region CommandParameter property

        public static readonly DependencyProperty CommandParameterProperty =
            DependencyProperty.RegisterAttached(
            "CommandParameter",
            typeof(string),
            typeof(MouseDown),
            new PropertyMetadata(MouseDown.OnCommandParameterPropertyChanged));

        public static string GetCommandParameter(UIElement element)
        {
            return (string)element.GetValue(MouseDown.CommandParameterProperty);
        }

        public static void SetCommandParameter(UIElement element, string value)
        {
            element.SetValue(MouseDown.CommandParameterProperty, value);
        }

        #endregion CommandParameter property

        private static readonly DependencyProperty MouseDownCommandBehaviorProperty =
            DependencyProperty.RegisterAttached(
            "MouseDownCommandBehavior",
            typeof(UIElementMouseDownCommandBehavior),
            typeof(MouseDown),
            null);

        #endregion Attached properties

        #region Value changed notification callbacks

        private static void OnCommandPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
        {
            UIElement element = source as UIElement;
            if (element != null)
            {
                UIElementMouseDownCommandBehavior behavior = GetOrCreateBehavior(element);
                behavior.Command = e.NewValue as ICommand;
            }
        }

        private static void OnCommandParameterPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
        {
            UIElement element = source as UIElement;
            if (element != null)
            {
                UIElementMouseDownCommandBehavior behavior = GetOrCreateBehavior(element);
                behavior.CommandParameter = e.NewValue;
            }
        }

        #region Value changed notification helpers

        private static UIElementMouseDownCommandBehavior GetOrCreateBehavior(UIElement element)
        {
            UIElementMouseDownCommandBehavior behavior =
                element.GetValue(MouseDown.MouseDownCommandBehaviorProperty)
                as UIElementMouseDownCommandBehavior;

            if (behavior == null)
            {
                behavior = new UIElementMouseDownCommandBehavior(element);
                element.SetValue(MouseDown.MouseDownCommandBehaviorProperty, behavior);
            }

            return behavior;
        }

        #endregion Value changed notification helpers

        #endregion Value changed notification callbacks
    }
}



а вот поведение, которое просто вызывает команду:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Practices.Prism.Commands;
using System.Windows;
using System.Windows.Input;

namespace WpfApplication1.CommandBehaviors
{
    public class UIElementMouseDownCommandBehavior : CommandBehaviorBase<UIElement>
    {
        public UIElementMouseDownCommandBehavior(UIElement targetObject)
            : base(targetObject)
        {
            targetObject.MouseDown += OnMouseDown;
        }

        private void OnMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            base.ExecuteCommand();
        }
    }
}



И вот такие портянки нужно писать для КАЖДОГО события. Т. е. для каждого события регистрируются прикрепляемые свойства и прочая оснастка делается.

А у вас почему-то только через свойства зависимостей всё обходится.

Кстати, про DelegateCommand я наврал - их я из Призмы взял.



МСУuser7320Алексей правильно поправил - СДК блендовоское я имел ввиду.
Причем тут SDK? Как часто ты "вяжешь команды к событиям" с помощью SDK?
Как узнал об этой удобной вещи, так впредь буду только с помощью этого СДК и вязать. Ибо то, что в ВПФе "из коробки", явно для издевательств над людьми сделано. Раньше были события и было шик *** , а почему введение команд привело ко "пшик"? Явно создатели ВПФ хотели в будущем это исправить, но МС положила на нормальное развитие ВПФ, ограничившись "патчевыми обновлениями", поэтому вот блендеровцам пришлось придумать своё. До этого это досадное упущение ВПФ-team люди решали сами - на поделки я ссылки выше давал.

Короче, нужная это вещь. А поскольку если где-то возникнет необходимость в удобстве использовать такой подход, то лучше - для сохранения стиля - и везде в приложении его использовать. Тем более, что работает эта штука только в представлении, изменений в моделях представлений и моделях не требует. Шик, одним словом.


***
h ttp://www.youtube.com/watch?v=hpYJdyD5M-A&t=1m38s



МСУАлексей КНе обращай внимания, тут каждый про своё.
Но в целом мембер user7320 зачётный перец. Можно из него за пару лет слепить честного тролля-знатока, есть в нём запал добра :)
Ах, оставьте эти ваши инсинуации... Лучше дайте денег.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495670
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давно уже пора зделоть "БАЛЬЩОЙ ЗИЛЁНЫЙ КНОПКА! ЩТОБЫ ВСЁ МНУ ДЕЛАЛО КАК НАДО!", дабы толпа дармоедов уже нафик успокоилась. не хочу учиться, хочу жениться!!!!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495678
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320Дотнет вообще хорошь тем, что не надо самому всё писать.
Как-раз таки наоборот. В дотнете всё написано за тебя, нужно лишь брать и использовать.

Как раз таки наоборот! В дотнете всё уже написали, не самому теперь надо всё писать!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495685
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА зачем ваша вариация, если "так же, как родной блендовский"? Я вот глянул в ваш код. Как-то у вас проще, вроде как. У меня сделано так (передрал откуда-то из МСДНа):
Хотя, исходя из названия, "поведение" - это нечто большее, чем просто привязка команды к событию. В поведении должен быть код собственно поведения. Т. е. это код, отвязанный от моделей или моделей представлений (т. е. не содержащийся в их командах), который может быть привязан к контролу, а событие - просто триггер для выполнения этого кода. А в моём же (и вашем, судя по всему), случае производится именно просто привязка команды к событию.

Но я в любом случае искал именно второй вариант - простую привязку, а понял это только когда написал полноценное поведение. Поэтому с поведениями я затею оставил и решил искать готовое решение для привязки команд и поведений.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495694
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори решил искать готовое решение для привязки команд и поведений событий.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495699
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНе обращай внимания, тут каждый про своё.
Но в целом мембер user7320 зачётный перец. Можно из него за пару лет слепить честного тролля-знатока, есть в нём запал добра :)
Это как вы, чтоли? А у меня будет свой Сева? И Свеном тоже?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495708
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320И вот такие портянки нужно писать для КАЖДОГО события. Т. е. для каждого события регистрируются прикрепляемые свойства и прочая оснастка делается.Так никто ж не заставляет. Подписывайся на события явно если хочешь. Но это можно делать только в code-behind и OnApplyTemplate. И не наткнись на утечку памяти.

user7320А у вас почему-то только через свойства зависимостей всё обходится.По моим ссылкам выше есть все ответы на твои вопросы. :-)

user7320Кстати, про DelegateCommand я наврал - их я из Призмы взял.Я знаю. :-)

Лучше возьми реализацию RelayCommand через CommandManager.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495716
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320авторА зачем ваша вариация, если "так же, как родной блендовский"? Я вот глянул в ваш код. Как-то у вас проще, вроде как. У меня сделано так (передрал откуда-то из МСДНа):
Хотя, исходя из названия, "поведение" - это нечто большее, чем просто привязка команды к событию. В поведении должен быть код собственно поведения. Т. е. это код, отвязанный от моделей или моделей представлений (т. е. не содержащийся в их командах), который может быть привязан к контролу, а событие - просто триггер для выполнения этого кода. А в моём же (и вашем, судя по всему), случае производится именно просто привязка команды к событию.

Но я в любом случае искал именно второй вариант - простую привязку, а понял это только когда написал полноценное поведение. Поэтому с поведениями я затею оставил и решил искать готовое решение для привязки команд и поведений.Случаем не путаешь AttachedProperty, TriggerAction<T> и Behavior<T>? Это немного совсем разные вещи. Их применение гораздо шире, чем решение задачи EventToCommand.

Они полезны из-за отсутствия множественного наследования классов. Делай выводы. :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495724
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320И вот такие портянки нужно писать для КАЖДОГО события. Т. е. для каждого события регистрируются прикрепляемые свойства и прочая оснастка делается.Так никто ж не заставляет. Подписывайся на события явно если хочешь. Но это можно делать только в code-behind и OnApplyTemplate. И не наткнись на утечку памяти.

user7320А у вас почему-то только через свойства зависимостей всё обходится.По моим ссылкам выше есть все ответы на твои вопросы. :-)

user7320Кстати, про DelegateCommand я наврал - их я из Призмы взял.Я знаю. :-)

Лучше возьми реализацию RelayCommand через CommandManager.
Коде-бихайнд - для слабаков. Мы не ищем лёгких путей.

А релей комманд не хочу - она не официальная (вроде, первый раз я такое название у Джоша Смита встретил), и потому вопросы поддержки в будущем стоят. Да и как я понял, релей комманд - это подмножество делегит комманд. Т. е. всё, что умеет релей, умеет и делегит. Просто первая легче.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495739
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Коде-бихайнд - для слабаков.Распространённое заблуждение. "Вам шашечки или ехать?" (ц)

user7320А релей комманд не хочу - она не официальная (вроде, первый раз я такое название у Джоша Смита встретил), и потому вопросы поддержки в будущем стоят. Да и как я понял, релей комманд - это подмножество делегит комманд. Т. е. всё, что умеет релей, умеет и делегит. Просто первая легче.Официальная реализация ICommand это RoutedCommand, которой никто не пользуется.

В RelayCommand иначе выполнен CanExecuteChanged:
Код: c#
1.
2.
3.
4.
5.
        event EventHandler ICommand.CanExecuteChanged
        {
            add { CommandManager.RequerySuggested += value; }
            remove { CommandManager.RequerySuggested -= value; }
        }


На мой взгляд, это самая удачная реализация.

зы: любителям SL самое время расстроиться из-за отсутствия CommandManager :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495744
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В RelayCommand иначе выполнен CanExecuteChanged в отличие от DelegateCommand .
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495826
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320Коде-бихайнд - для слабаков.Распространённое заблуждение. "Вам шашечки или ехать?" (ц)
А ведь чел дело говорит. Как считаешь?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495907
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Распространённое заблуждение. "Вам шашечки или ехать?" (ц)
А ведь чел дело говорит. Как считаешь? Я считаю что это болезнь - бехайндофобия, со временем может перерасти в моделефилию.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495910
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320Коде-бихайнд - для слабаков.Распространённое заблуждение. "Вам шашечки или ехать?" (ц)

user7320А релей комманд не хочу - она не официальная (вроде, первый раз я такое название у Джоша Смита встретил), и потому вопросы поддержки в будущем стоят. Да и как я понял, релей комманд - это подмножество делегит комманд. Т. е. всё, что умеет релей, умеет и делегит. Просто первая легче.Официальная реализация ICommand это RoutedCommand, которой никто не пользуется.

В RelayCommand иначе выполнен CanExecuteChanged:
Код: c#
1.
2.
3.
4.
5.
        event EventHandler ICommand.CanExecuteChanged
        {
            add { CommandManager.RequerySuggested += value; }
            remove { CommandManager.RequerySuggested -= value; }
        }



На мой взгляд, это самая удачная реализация.

зы: любителям SL самое время расстроиться из-за отсутствия CommandManager :-)

Любителям SL нужно радоваться, что у них нет такой порнографии. Статик подписывается на события - прямая дорога к утечкам памяти
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495918
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЛюбителям SL нужно радоваться, что у них нет такой порнографии. Статик подписывается на события - прямая дорога к утечкам памятиЧто-то мне подсказывает, что внутри CommandManager активно используются WeakReference.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495927
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Weak Event Pattern, не?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public static  event EventHandler RequerySuggested
{
    add
    {
        RequerySuggestedEventManager.AddHandler(null, value);
        return;
    }
    remove
    {
        RequerySuggestedEventManager.RemoveHandler(null, value);
        return;
    }
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38495981
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, а где ты отписываться будешь?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496024
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaАлексей К, а где ты отписываться будешь?Нигде. Само сборкой мусора отпишется. Сам же давиче слабые ссылки нахваливал. Ну может какие контролы и отписываются. Не имеет значения.

Да и почему ко мне эти вопросы? Не я же это придумал.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496062
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

А ведь чел дело говорит. Как считаешь? Я считаю что это болезнь - бехайндофобия, со временем может перерасти в моделефилию.
Не, я всё же нашёл оправдание применению кодебихайнда - я там делаю мессадж боксы и прочие модалки. Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496076
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей Кпропущено...
Я считаю что это болезнь - бехайндофобия, со временем может перерасти в моделефилию.
Не, я всё же нашёл оправдание применению кодебихайнда - я там делаю мессадж боксы и прочие модалки. Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться. Тут описаны основные преимущества и недостатки UserControl в том числе. Завтра сравнительную табличку планирую поправить.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496188
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Алексей Кпропущено...
Я считаю что это болезнь - бехайндофобия, со временем может перерасти в моделефилию.
Не, я всё же нашёл оправдание применению кодебихайнда - я там делаю мессадж боксы и прочие модалки. Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться.
Задача комфортно решается с помощью оконного сервиса, а не такими ужастиками.
http://codearticles.ru/articles/2421

П.С. Лично я против статических подписок на евенты.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496195
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кuser7320пропущено...

Не, я всё же нашёл оправдание применению кодебихайнда - я там делаю мессадж боксы и прочие модалки. Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться. Тут описаны основные преимущества и недостатки UserControl в том числе. Завтра сравнительную табличку планирую поправить.

авторНедостатки:
Класс ViewModel должен быть потомком класса Control.


авторПотомок класса Control в паре с ControlTemplate - это нечто среднее между DataTemplate и UserControl. Данный подход в основном применяется для решения системных задач, в которых часто требуется тесная интеграция ViewModel и View, возможность наследования ViewModel и описания нескольких View для одной ViewModel.


В огороде бузина, а в Киеве дядька. Где ты выкопал "тесную интеграцию"? Это не имеет никакого отношения к шаблону ViewModel. ViewModel и WPF созданы совсем для другого - не иметь никаких зависимостей б\л от представления.
Это полный бред(не в обиду). Зачем ты пачкаешь мозги другим? Вся прелесть xaml в том, что нет необходимости в тех наворотах UI, которые у тебя. Все делается гораздо проще без них.

Спрячь это и никому не показывай.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496203
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaViewModel и WPF созданы совсем для другого - не иметь никаких зависимостей б\л от представления.Это один из возможных в WPF подходов. Он далеко не на все случаи жизни. Зацикливаться на нём не стоит.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496205
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЭто полный бред(не в обиду).Да я и не обижаюсь. :-)

Это моё мнение, которое отличается от твоего, не более того. Просто ты зациклился на типовых статьях про MVVM, в которых упорно игнорируются возможности UserControl/CustomControl. Я решил посмотреть несколько шире.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496208
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaВся прелесть xaml в том, что нет необходимости в тех наворотах UI, которые у тебя. Все делается гораздо проще без них.О каких "наворотах" идёт речь?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496215
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУП.С. Лично я против статических подписок на евенты.Через Weak Event можно.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496253
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320пропущено...

Не, я всё же нашёл оправдание применению кодебихайнда - я там делаю мессадж боксы и прочие модалки. Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться.
Задача комфортно решается с помощью оконного сервиса, а не такими ужастиками.
http://codearticles.ru/articles/2421

П.С. Лично я против статических подписок на евенты.

Алексей Кuser7320пропущено...

Не, я всё же нашёл оправдание применению кодебихайнда - я там делаю мессадж боксы и прочие модалки. Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться. Тут описаны основные преимущества и недостатки UserControl в том числе. Завтра сравнительную табличку планирую поправить.

У кого тут бихайндофобия? Зачем писать какие-то сервисы и вообще что-то писать, если вот оно - только протяни руку и тебе доступно всё богатство и незамутнённость кодебихайнда. То, что модалки так черезжопно делаются в этом ВПФ-MVVM - проблемы либо MVVM, либо разработчиков ВПФа. Не до конца, значит, они его под MVVM заточили. Или таки проблема в MVVM - не везде этот йогурт одинакого полезен.

Меня вообще раздражает, когда раньше что-то было можно, а сейчас нельзя. В ВПФ из стрима массив байт получить как нефиг делать. В Сильвере для этого нужно извернуться и либо замутить что-то низкоуровневое руками, либо сторонние библиотеки использовать. Зато 5,5 МБ дистриб, ага. Да кому он, нафиг, нужен этот малый размер, да за такие жертвы, в наше-то время онлайнового фуллХД. Вообще не понимаю, почему нет смартфонов и планшетов на х86 атомах с полноценной Виндой и Дотнетом на борту. И ДХ тоже. Да, 11.2. Ну и кроме этих плиток чтобы была возможность включить обычный десктопный интерфейс. И пофиг, что не юзабельно на 5", всё равно найдутся извращенцы, которые подключат этот смарт к фуллХД монику или ТВ и будут так его использовать. Вот тогда все эти айфоны с андроидами соснут.

Или вот раньше можно было легко связать события и код, а сейчас - из всего разнообразия событий один условный клик на четыре контрола и ипитесь с ними как хотите. Потому что МВВМ.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496392
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320У кого тут бихайндофобия?Ну сам же писал:
user7320Коде-бихайнд - для слабаковТипичный симптом.

Или это был сарказм? :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496393
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Или вот раньше можно было легко связать события и код
Это и сейчас легко связывается. У вас с этим проблемы?
user7320Потому что МВВМ.
Потому что WPF. Потому что в некоторых случаях у разметки может вообще не быть code behind в принципе. И далее переход от частностей к общему как к методике. Но при этом в частных случаях никто не запрещает пользоваться code behind'ом.
user7320Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться.
Да, лучше использовать нормальный диконтейнер вместо самописного велосипеда.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496395
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловныuser7320Ибо городить что-то подобное этому ради сраного MVVM - лучше удавиться.
Да, лучше использовать нормальный диконтейнер вместо самописного велосипеда.
Наверное, три года назад всех этих новомодных контейнеров просто не было или они были в зачатке, поэтому и писали свои велосипеды. Во многих случаях эти статьи джошесмитовские уже устарели. Но на всяких StackOverflow на них упорно продолжают давать ссылки. А если задать тот же вопрос, какой-нибудь умник зайдёт и скажет "possible duplicaton?", вместо того, чтобы дать ссылку на осовремененный вариант.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496398
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Наверное, три года назад всех этих новомодных контейнеров просто не было или они были в зачатке
Эмм... CastleWindsor существует как проект с 2003-го года, на гитхабе появился в 2009-м. Spring.NET существует c 2004-го. Ninject - c 2007-го. Autofac - вроде как с 2010-го. Unity - c 2008-го.
user7320Во многих случаях эти статьи джошесмитовские уже устарели.
Про все статьи не скажу, а ServiceLocator не то что бы устарел, но считается антипаттерном.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496425
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSeVaЭто полный бред(не в обиду).Да я и не обижаюсь. :-)

Это моё мнение, которое отличается от твоего, не более того. Просто ты зациклился на типовых статьях про MVVM, в которых упорно игнорируются возможности UserControl/CustomControl. Я решил посмотреть несколько шире.

И в чем эта ширина заключается? Я увидел только старые подходы, которые построены на специально обученных компонентнах, которые что-то умеют. Ты не понял основную идею wpf - уйти от этого.
Двойное связывание, команды,mvvm и прочее позволяют полностью не зависеть от интерфейса, что значительно упрощает разработку фреймворков на любой вкус и цвет, а не иметь куцый набор контролов.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496434
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaИ в чем эта ширина заключается?В том что везде рассматривается применение только DataTemplate или UserControl без использования code-behind. Мне захотелось рассмотреть одновременно все имеющиеся возможности и сравнить их.

SeVaЯ увидел только старые подходы, которые построены на специально обученных компонентнах, которые что-то умеют.Полохо смотрел. Например, реализация TabbedMDI . Используются как традиционные возможности вроде code-behind + подписка на события, так и новые возможности вроде ICommand, DataTemplate, Style, Trigger и т. п. Одно другому не мешает.

SeVaТы не понял основную идею wpf - уйти от этого.Не "уйти", а дополнить. Зачем отказываться от традиционных возможностей если они полностью устраивают? Это глупо.

SeVaДвойное связывание, команды,mvvm и прочее позволяют полностью не зависеть от интерфейса, что значительно упрощает разработку фреймворков на любой вкус и цвет, а не иметь куцый набор контролов.Это зависит от решаемой задачи и личных предпочтений. Навязывать окружающим какое-то одно решение неразумно.

Вспомнилось: "Это полный бред(не в обиду). Зачем ты пачкаешь мозги другим?" (ц) :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496447
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныПотому что в некоторых случаях у разметки может вообще не быть code behind в принципе.
+1, ASP.NET MVC тому подтверждение

P.S. Зачем при таких мощных байдингах XAML городить еще какие-то кодбехайндовые грабли? MVVM - лучшее, что можно придумать в WPF.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496448
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНапример, реализация TabbedMDI
Хочешь я расскажу тебе о главном недостатке этого таббеда? :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496449
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНапример, реализация TabbedMDI
Хочешь я расскажу тебе о главном недостатке этого таббеда? :)Давай. :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496459
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К[Давай. :-)
Замечательная таскбарность похерена как класс, на помойку!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496463
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кстати, кто-то давеча обещал отработать по фокусам... 15207500
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496464
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К[Давай. :-)
Замечательная таскбарность похерена как класс, на помойку! Согласен, красивого хинта, содержащего уменьшенное изображение документа как в таскбар Windows 7, там не хватает. Потом добавлю. Там работы на день два... :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496468
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КТам работы на день два... :-)
Уверен?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496469
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИ кстати, кто-то давеча обещал отработать по фокусам... 15207500 Не люблю я эти фокусы... :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496472
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КТам работы на день два... :-)
Уверен?В гугле вроде хватает примеров рендеринга WPF-контрола в битмап. А дальше дело техники...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496477
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ гугле вроде хватает примеров рендеринга WPF-контрола в битмап. А дальше дело техники...
Ты чего там покурил, какой взат битмап, какой рендеринг, какие контролы? Мне нужен нативная виндовая таскбарность, никаких лисапедов!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496502
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВ гугле вроде хватает примеров рендеринга WPF-контрола в битмап. А дальше дело техники...
Ты чего там покурил, какой взат битмап, какой рендеринг, какие контролы? Мне нужен нативная виндовая таскбарность, никаких лисапедов!Да я про свой табмди. Накой мне виндовый таскбар... :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496527
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДа я про свой табмди. Накой мне виндовый таскбар... :-)
Так и я про твой табмди :) Я утверждал и утверждаю, что этой поделке место на свалке - не нужно решать за пользователя, нужен ли ему виндовой таскбар или не нужен. Виндовой таскбар очень удобен, причем абсолютно не нужно ничего писать - окна автоматически кладутся, группируются и отображаются в нем. Таскбар удобен даже в XP. А ты лишаешь юзверя этого чуда и заставляешь привыкать к своему убогому таббедмди. Я считаю, что ты не прав.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496532
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНакой мне виндовый таскбар... :-)
Не уподобляйся этому мальчику :)

...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496582
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЯ считаю, что ты не прав.Авторы VS, IE и тысяч программ, имеющих TabbedMDI, тоже не правы?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496594
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КАвторы VS, IE и тысяч программ, имеющих TabbedMDI, тоже не правы?
Хук с правой - VS в таббед UI поддерживает докинг окон, то есть я могу их "отсоединять" мышкой от основного окна и они автоматом появляются в нативном таскбаре Постоянно пользуюсь фишкой, очень удобно. У тебя так тоже можно сделать, да? ))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496605
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КАвторы VS, IE и тысяч программ, имеющих TabbedMDI, тоже не правы?
Хук с правой - VS в таббед UI поддерживает докинг окон, то есть я могу их "отсоединять" мышкой от основного окна и они автоматом появляются в нативном таскбаре Постоянно пользуюсь фишкой, очень удобно. У тебя так тоже можно сделать, да? ))Нет! В VS2010 они в таскбаре не появляются.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496608
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенно таскбарная многооконность полезна для тех, кто работает на 2 мониторах. Алексей, не спорь и не противься, ты должен верить мне (с).
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496611
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы: группировка в таскбаре бесит.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496612
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ VS2010 они в таскбаре не появляются.
Выбрось на помойку это допотопье :) В 2012 и 2013 появляются.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496613
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОсобенно таскбарная многооконность полезна для тех, кто работает на 2 мониторах. Алексей, не спорь и не противься, ты должен верить мне (с).Пусть запускают два экземпляра программы.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496616
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кзы: группировка в таскбаре бесит.
Нисколько. Тем более ты можешь её настроить под себя. Считаешь, что твой таббедный "говнотаскбар" лучше? Готов тебя разочаровать
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496619
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУОсобенно таскбарная многооконность полезна для тех, кто работает на 2 мониторах. Алексей, не спорь и не противься, ты должен верить мне (с).Пусть запускают два экземпляра программы.
Жестокий ты )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496620
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНисколько. Тем более ты можешь её настроить под себя. Считаешь, что твой таббедный "говнотаскбар" лучше? Готов тебя разочаровать Нет, я так не считаю. "Готов тебя разочаровать" (ц)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496623
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Пусть запускают два экземпляра программы.
Жестокий ты )Справедливый!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496629
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНет, я так не считаю. "Готов тебя разочаровать" (ц)
Мужик, так не пойдет. Ты навязываешь людям свои гавнопринципы - лишаешь их нативной таскбарности. Зачем? :)
Это конечно круто, выпилить возможность использовать в окнах панель задач, но какой от этого профит?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496643
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНет, я так не считаю. "Готов тебя разочаровать" (ц)
Мужик, так не пойдет. Ты навязываешь людям свои гавнопринципы - лишаешь их нативной таскбарности. Зачем? :)
Это конечно круто, выпилить возможность использовать в окнах панель задач, но какой от этого профит?Неа, не угадал. Я не навязываю, я высказываю своё мнение. :-)

Если кто-то решил использовать многоокон+таскбар, осуждать его не собираюсь.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496656
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСон Веры ПавловныПотому что в некоторых случаях у разметки может вообще не быть code behind в принципе.
+1, ASP.NET MVC тому подтверждение

P.S. Зачем при таких мощных байдингах XAML городить еще какие-то кодбехайндовые грабли? MVVM - лучшее, что можно придумать в WPF.
В вебе аналог кодебихайнд - джаваскрипт на страничках, относящийся ко всяким манипуляциям с разметкой. Т. е. именно та роль джаваскрипт, для которой он и был изначально предназначен, а не эти новомодные модели и серверные части, слепленные из джаваскрипта по-быстрому на коленке и в угоду моде.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496674
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНеа, не угадал. Я не навязываю, я высказываю своё мнение. :-)
Ты навязываешь, потому что за безобидным высказывание следует жестко захардкоженная какашка :)

Алексей КЕсли кто-то решил использовать многоокон+таскбар, осуждать его не собираюсь.
Ну так делают все: VS, Axapta, 1C, браузеры, твой любимый SAP, MS Office, ... Действительно, не стоит осуждать эти ущербные поделки.

user7320В вебе аналог кодебихайнд - джаваскрипт на страничках
Глупости, у тебя каша в башке. В вебе js и css - это неотъемлемая часть представления.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496689
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНеа, не угадал. Я не навязываю, я высказываю своё мнение. :-)
Ты навязываешь, потому что за безобидным высказывание следует жестко захардкоженная какашка :)Слишком грубо и нелогично. :-)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496697
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320В вебе аналог кодебихайнд - джаваскрипт на страничках
Глупости, у тебя каша в башке. В вебе js и css - это неотъемлемая часть представления.Зря ты так. Такая аналогия имеет право на существование.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496700
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320В вебе аналог кодебихайнд - джаваскрипт на страничках
Глупости, у тебя каша в башке. В вебе js и css - это неотъемлемая часть представления.
Я имел ввиду ту часть джаваскрипта, которая относится к манипуляциям с разметкой, и аналогов которой нет в замле. Иногда кодебихайнд советуют использовать для этого - когда замла не хватает. Вычислить там чего-нибудь. Но при этом этот код в кодебихайнд должен относиться только к представлению и не быть связанным с моделью.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496720
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСлишком грубо и нелогично. :-)
Таскбар - грубо и нелогично? Хм, нужно подумать над этим... :)

user7320Я имел ввиду ту часть джаваскрипта, которая относится к манипуляциям с разметкой, и аналогов которой нет в замле.
Да какая разница, к чему там у тебя относится js. Он отвязан от серверной логики - это чисто клиентская логика. Например, его можно сравнить с ValidationRule в XAML или что-то типа того. Это чистой воды представление.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496729
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320МСУпропущено...

Глупости, у тебя каша в башке. В вебе js и css - это неотъемлемая часть представления.
Я имел ввиду ту часть джаваскрипта, которая относится к манипуляциям с разметкой, и аналогов которой нет в замле. Иногда кодебихайнд советуют использовать для этого - когда замла не хватает. Вычислить там чего-нибудь. Но при этом этот код в кодебихайнд должен относиться только к представлению и не быть связанным с моделью.
Кстати, я тут недавно с KnockoutJS разбирался - это уже MVVM для веба попахивает. Модель представления - это модель, которую этот Нокаут в JS создаёт.


Кстати, кто что думает, если заменить механизм форм (то, что в ХТМЛ тегом form выделяется) на модели Нокаута? С Нокаутом-то формы, поди, не нужны? Вот бы в WPF были формы как некий отдельный класс, структурная единица, требующая специальной работы с ней - та ещё хохма была бы. Я, конечно, нуб, но после знакомства с Нокаутом мне эти веб-формы кажутся каким-то анахронизмом. Т. к. по сути любая страница может стать формой взаимодействия с юзером и отправкой пользовательского ввода на сервер. Вобщем, веб-формы мне видятся какой-то устаревшей низкоуровневой конструкцией, связанной с работой на уровне протокола HTTP и его видами запросов (геты там всякие, посты и прочие). Нафиг вообще программисту различать эти запросы? И так понятно, что к пользовательскому вводу надо относиться осторожно, но вот нафига делить всё на гет, пост и прочее - непонятно. Только лишней обвязки в коде добавляется, упоминаний, что вот этот запрос - гет, а этот - пост, а толку особого от этого я не вижу.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496746
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Кстати, я тут недавно с KnockoutJS разбирался - это уже MVVM для веба попахивает. Модель представления - это модель, которую этот Нокаут в JS создаёт.
Да, это уровень представления (UI) начинают так же расслаивать на модель, вью-модель и логику. То есть в ASP.NET MVC приложении на стороне клиента проектируется MVVM решение с помощью кнокаута. Честно говоря не очень порадовал кнокаут, я просто не вижу особого в нем смысла.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496773
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320Кстати, я тут недавно с KnockoutJS разбирался - это уже MVVM для веба попахивает. Модель представления - это модель, которую этот Нокаут в JS создаёт.
Да, это уровень представления (UI) начинают так же расслаивать на модель, вью-модель и логику. То есть в ASP.NET MVC приложении на стороне клиента проектируется MVVM решение с помощью кнокаута. Честно говоря не очень порадовал кнокаут, я просто не вижу особого в нем смысла.
Я его байндинги использую. У вас самописно делаются асинхронные обновления части страницы? Мы уже в другой моей теме говорили об этом. Предлагались либо самописные решения на JS, либо теймлейты на jQuery, либо вот готовое решение на JS - KnockoutJS.

Если бы в ASP.NET MVC был бы механизм заполнения полей страницы при асинхронном обновлении такой же, как при обычном, то мне бы Нокаут и не нужен бы был. А тут вот ради одной мелочи целый фреймворк сгородили. При Сильвере такого бы не было...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496794
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем сюда ! Там кровь кишки расп...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496909
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Предлагались либо самописные решения на JS, либо теймлейты на jQuery, либо вот готовое решение на JS - KnockoutJS.
Я ж тебе и предлагал юзать темплейты. Можно их подгружать с сервера, можно их брать из скрытого дива, чтобы не лезть на сервер. Причем в первом случае мы получаем реально грамотную архитектуру шаблонов - используется честная MVC модель в асинхронном частичном представлении, родная валидация, родной интеллисенс, комфорт сопровождения и допиливания такого cshtml. В топку js, если задачу можно легко решить с помощью Razor.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496918
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Если бы в ASP.NET MVC был бы механизм заполнения полей страницы при асинхронном обновлении такой же, как при обычном, то мне бы Нокаут и не нужен бы был.
Он есть, partial view. Поднимаются асинхронно через jquery, дергается метод контроллера, отдает модель для этого parial view.

Первый случай с хайдингом: http://codearticles.ru/articles/2393
Второй случай с partial view: http://codearticles.ru/articles/2256
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496954
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще задачка. Как сделать, чтобы файл (type="System.Resources.ResXFileRef"), добавляемый в ресурсы (.resx) вносился туда как String, а не как byte[]? Нужно добавить в ресурсы несколько xshd-файлов - это файлы с определениями подсветки содержимого в AvalonEdit, по сути - обычный xml. Прочие xml-файлы (xsl, xsd) в ресурсах трактуются как String, а вот xshd - как byte[]. А нужно, чтобы как String. Можно, конечно, руками подправить Resources.resx и Resources.Designer.cs, но делать это на каждое изменение в ресурсах как-то невесело.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38496960
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДа, это уровень представления (UI) начинают так же расслаивать на модель, вью-модель и логику. То есть в ASP.NET MVC приложении на стороне клиента проектируется MVVM решение с помощью кнокаута. Честно говоря не очень порадовал кнокаут, я просто не вижу особого в нем смысла.

не коти бочку на нокаут! вещь крутая. как бы там не пыжились фантики ангуляра, нокаут жив, и более того... разрабы рассматривают возможность более глубже интегрировать нокаут в asp.net mvc + webapi.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497008
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttне коти бочку на нокаут! вещь крутая. как бы там не пыжились фантики ангуляра, нокаут жив, и более того... разрабы рассматривают возможность более глубже интегрировать нокаут в asp.net mvc + webapi.
Если ты заметил, именно на него я не качу бочку - вещь несомненно мощная и заслуживает уважения, тем более заманчива сама идея. Но лично для себя я не вижу применение кнокауту, всё как-то сыро и туманно. Скоро выйдет тайпскрипт, как оно будет уживаться с кнокаутом, хз. Так что это пока просто модно и гламурно, но в реальных проектах нет никакого желания использовать прогремушку.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497125
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, ну так что, когда исправляться будешь? )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497160
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЕсли ты заметил, именно на него я не качу бочку - вещь несомненно мощная и заслуживает уважения, тем более заманчива сама идея. Но лично для себя я не вижу применение кнокауту, всё как-то сыро и туманно. Скоро выйдет тайпскрипт, как оно будет уживаться с кнокаутом, хз. Так что это пока просто модно и гламурно, но в реальных проектах нет никакого желания использовать прогремушку.

катать модели через JSON между клиентом-сервером самое то. сам тоже некоторое время присматривался, попробовал и быстро втянулся. идеально для webapi. конечно можно рендерить PartialView и отдавать HTML-кусками, но с нокаутом как-то живее получается. каждый элементик живёт своей жизни, а не целый блок. для веб-приложений с кучей контролов самое то. а тайпскрипт вроде как хорошо дружит с нокаутом. сам не пробовал пока. не думаю, что "погремушка", хорошее определение для нокаута. вполне себе развитый и возмужалый проект. сегодня в 3-ей версии силён и не уступает всяким бекбонам и ангулярам.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497162
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей К, ну так что, когда исправляться будешь? )
Повторюсь
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497254
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttкатать модели через JSON между клиентом-сервером самое то
Так я и катаю,

Код: c#
1.
var model = '@Html.Raw(Json.Encode(Model))'

;

Вот тебе честная модель в js нативными средствами, бери да кури.

hVosttконечно можно рендерить PartialView и отдавать HTML-кусками
Мне как-то этот способ более по душе, он очевидный и простой.

Алексей КПовторюсь
Ты не оставляешь мне выбора назвать такое поделие плохим словом... :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497275
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТак я и катаю,

Код: c#
1.
var model = '@Html.Raw(Json.Encode(Model))'



какой-там
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497294
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТы не оставляешь мне выбора назвать такое поделие плохим словом... :)Лучше скажи, в html значение атрибута может содержать перевод строки?

Код: html
1.
2.
3.
4.
5.
<meta name="description" content="
    Строка 1
    Строка 2
    Строка 3
"/>
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497409
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУТы не оставляешь мне выбора назвать такое поделие плохим словом... :)Лучше скажи, в html значение атрибута может содержать перевод строки?

Код: html
1.
2.
3.
4.
5.
<meta name="description" content="
    Строка 1
    Строка 2
    Строка 3
"/>



Не нужно так писать, всё зависит от конечного браузера - как он интерпретирует этот помёт, так оно и будет.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497420
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе нужно так писать, всё зависит от конечного браузера - как он интерпретирует этот помёт, так оно и будет.ок
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497801
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320У вас самописно делаются асинхронные обновления части страницы?Мы стараемся писать свой SDK так, чтобы было абсолютно прозрачно то, самописно делаются асинхронные запросы, при помощи jQuery, или чего-то ещё.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497892
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ@Html.Raw
Не нравится мне это. GOTO какой-то. У меня предубеждение. Везде, где можно, использовать кодирование HTML, построить вокруг этого весь Razor, чтобы потом в каких-то сраных асинхронных обновлениях всё похерить, оставив дыру.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38497958
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320МСУ@Html.Raw
Не нравится мне это. GOTO какой-то. У меня предубеждение. Везде, где можно, использовать кодирование HTML, построить вокруг этого весь Razor, чтобы потом в каких-то сраных асинхронных обновлениях всё похерить, оставив дыру.

модели на клиента надо закидывать JSON-ом, а не PartialView. и не будет никаких дыр. только красивый лаконичный REST-апи. слать PartialView — в духе самосознания пришельцев из WebForms, которые никак от UpdatePanel не могут отвыкнуть ))

вообще, нород довольно странный. употреблять МВЦ, как вебформс — всё равно что пить молоко с солёными огурцами. и ведь не давятся. сравнивать WPF с HTML5 — всё равно что сравнивать трамвай с внедорожником. хз что творится в умах.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498043
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320МСУ@Html.Raw
Не нравится мне это. GOTO какой-то. У меня предубеждение.
По-моему, ты бредишь...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498146
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУuser7320пропущено...

Не нравится мне это. GOTO какой-то. У меня предубеждение.
По-моему, ты бредишь...
hVostt, скажи ему...

...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498174
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320hVostt, скажи ему...
Хвоста нужно ещё самого учить уму разуму

Хотя сейчас уже стал толковее, чем год назад. Тогда вообще был дикой обезьянкой, пришлось одевать ежовые руковицы и взращивать парня. Сейчас уже можно смело выпускать из рук на волю, в принципе слеплен нормальный мальчуган.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498235
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,user7320б,hVostt
Ждем
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498241
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я 4тый по лесенке с низу , за мной skyANA ....
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498267
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, так я не понял, кого ждём-то?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498277
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
ну по сценарию, должна быть развязка заруба, ну а в конце как обычно - модератор и топик закрыт. ))
шестнадцать страниц брюзгливого дребезжания - нужен екшен, нужен вброс....
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498427
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степия 4тый по лесенке с низу , за мной skyANA ....Да-да... ждём
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498508
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степинужен вброс....
Ну хвоста можно потроллить за слабое знание LINQ, но это уже было - он изучил Expression и стал круче. Долбосеву можно попинать за тупость, но уже надоело пинать больных людей. user7320 в принципе нормально троллится, но он вбрасывает слишком много текста, поэтому тут вообще не понятно, кто кого троллит. Честно говоря, я уже и не знаю, что делать. Как сам считаешь?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38498607
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГде-то в степинужен вброс....
Ну хвоста можно потроллить за слабое знание LINQ, но это уже было - он изучил Expression и стал круче. Долбосеву можно попинать за тупость, но уже надоело пинать больных людей. user7320 в принципе нормально троллится, но он вбрасывает слишком много текста, поэтому тут вообще не понятно, кто кого троллит. Честно говоря, я уже и не знаю, что делать. Как сам считаешь?
Свеном остался... кто круче java или c#
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Задачка на профпригодность
    #38911262
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нарисую новую задачку для форумчан, кто будет смышлённей :)

Итак, нужно написать реализацию Main так, чтобы по нажатию Esc метод завершался и программа закрывалась. Кто это сделает как можно короче? Идеальный код - это код в одну строчку.

Код: c#
1.
2.
3.
4.
5.
6.
7.
class Program
{
    static void Main(string[] args)
    {
        ?
    }
}



Время пошло )
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911273
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу скажу, за такой код сразу по жопе веником! Думаем :)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
static void Main(string[] args)
{    
    m:
    if (Console.ReadKey().Key != ConsoleKey.Escape)
    {
        goto m;
    }
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911295
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУСразу скажу, за такой код сразу по жопе веником!

Почему? Что должно происходить по нажатию любой другой клавиши?
Код: c#
1.
while (Console.ReadKey().Key != ConsoleKey.Escape) ;
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911306
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris, код очевидный и годный, на четвёрку. Еще варианты? :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911385
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
 if (Console.ReadKey().Key != ConsoleKey.Escape) Main(args);
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911389
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.
Код: c#
1.
 if (Console.ReadKey().Key != ConsoleKey.Escape) Main(args);


Через несколько секунд StackOverflowException?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911392
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Denis.
Код: c#
1.
 if (Console.ReadKey().Key != ConsoleKey.Escape) Main(args);


Через несколько секунд StackOverflowException?
Не пробовал, но вроде рекурсия бесконечная без условия выхода - переполнение стэка вызова функций. Не?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911393
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42,

нет конечно.
через несколько тысяч "букв"
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911394
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
while (true) if (Console.ReadKey().Key == ConsoleKey.Escape) break;
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911395
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.НемоКэп42,

нет конечно.
через несколько тысяч "букв"
Да, точно.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911396
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis.
Код: c#
1.
 if (Console.ReadKey().Key != ConsoleKey.Escape) Main(args);


Идея прикольная, -1 балл за две строчки кода (да-да, две) :) А по-честному, так вообще 4 строчки. В общем, четвёрка за рекурсию

НемоКэп42Через несколько секунд StackOverflowException?
Да вроде не должно.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911399
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron
Код: c#
1.
while (true) if (Console.ReadKey().Key == ConsoleKey.Escape) break;


Блин, все купились на МСУовскую "одну строчку". Это как на Хабре была глупость "игра на JS в сколько-то там строк" - все лепили тонны кода в одну строку. Типа, хитрецы, ага.

МСУ, говори, что в одну инструкцию - ну, типа до первой ";".
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911400
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron
Код: c#
1.
while (true) if (Console.ReadKey().Key == ConsoleKey.Escape) break;


Жульничество детектед.

3 строки

Код: c#
1.
2.
3.
while (true) 
    if (Console.ReadKey().Key == ConsoleKey.Escape) 
        break;



А по-честному их 7 (я так пишу код, кстати, давно себя приучил)

Код: c#
1.
2.
3.
4.
5.
6.
7.
while (true)
{
    if (Console.ReadKey().Key == ConsoleKey.Escape)
    {
        break;
    }
}
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911404
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Блин, все купились на МСУовскую "одну строчку". Это как на Хабре была глупость "игра на JS в сколько-то там строк" - все лепили тонны кода в одну строку. Типа, хитрецы, ага.
Не, жульничать нельзя, всё правильно :)

НемоКэп42МСУ, говори, что в одну инструкцию - ну, типа до первой ";".
Да они и сами всё знают, нужен честный тру код

Пока код от Pallaris самый честный, почти пятёрка. Но поверьте мне, есть еще один более вкусный код. Ну? Кто еще? :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911406
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА по-честному их 7 (я так пишу код, кстати, давно себя приучил)

Код: c#
1.
2.
3.
4.
5.
6.
7.
while (true)
{
    if (Console.ReadKey().Key == ConsoleKey.Escape)
    {
        break;
    }
}


Настоящие джависты первую скобку на предыдущей строке оставляют. Не влиться тебе в джависты - заклюют и выгонят обратно в дотнет.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911407
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Настоящие джависты первую скобку на предыдущей строке оставляют. Не влиться тебе в джависты - заклюют и выгонят обратно в дотнет.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911409
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНемоКэп42Блин, все купились на МСУовскую "одну строчку". Это как на Хабре была глупость "игра на JS в сколько-то там строк" - все лепили тонны кода в одну строку. Типа, хитрецы, ага.
Не, жульничать нельзя, всё правильно :)

НемоКэп42МСУ, говори, что в одну инструкцию - ну, типа до первой ";".
Да они и сами всё знают, нужен честный тру код

Пока код от Pallaris самый честный, почти пятёрка. Но поверьте мне, есть еще один более вкусный код. Ну? Кто еще? :)
Есть какая-нибудь херня, типа логики в атрибутах - ставишь атрибут и вот тебе одна строчка. Никто же не сказал, что можно только "чистый" дотнет пользовать.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911416
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAxeleron
Код: c#
1.
while (true) if (Console.ReadKey().Key == ConsoleKey.Escape) break;



Жульничество детектед.

3 строки

Код: c#
1.
2.
3.
while (true) 
    if (Console.ReadKey().Key == ConsoleKey.Escape) 
        break;




А по-честному их 7 (я так пишу код, кстати, давно себя приучил)

Код: c#
1.
2.
3.
4.
5.
6.
7.
while (true)
{
    if (Console.ReadKey().Key == ConsoleKey.Escape)
    {
        break;
    }
}



Я тоже!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911422
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Не пиши сегодня ответ. Дай плиз народу подумать. Но чую, что-то хитрое будет в ответе.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911423
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариации на тему
Код: c#
1.
do;while (Console.ReadKey().Key != ConsoleKey.Escape);
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911424
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronМСУ,
Не пиши сегодня ответ. Дай плиз народу подумать. Но чую, что-то хитрое будет в ответе.
Ок :)

Denis.вариации на тему
Код: c#
1.
do;while (Console.ReadKey().Key != ConsoleKey.Escape);


Варнинг "Possible mistaken empty statement", нехорошо.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911470
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
MessageBox.Show("Hello world");
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911487
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ответа я не знаю :) но если не указать параметр True, символы будет видно
Код: c#
1.
do {}  while (Console.ReadKey(true).Key != ConsoleKey.Escape);
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911488
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
МСУСразу скажу, за такой код сразу по жопе веником! Думаем :)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
static void Main(string[] args)
{    
    m:
    if (Console.ReadKey().Key != ConsoleKey.Escape)
    {
        goto m;
    }
}


+1
Метки надо писать заглавными буквами
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911542
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile
Код: c#
1.
MessageBox.Show("Hello world");


Красиво но есть более правильное решение ))
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911547
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile
Код: c#
1.
MessageBox.Show("Hello world");


У меня не компилится!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911557
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы тут всё кипятите?...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911560
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я уже дома мороженку ем...



МСУDenis.вариации на тему
Код: c#
1.
do;while (Console.ReadKey().Key != ConsoleKey.Escape);


Варнинг "Possible mistaken empty statement", нехорошо.
Щас начнётся кувыркание с синтаксисом. Любая точка с запятой должна считаться за строчку. Дурацкие это конкурсы какие-то. Нечёткие условия, но правильный ответ только один, ага. Разводка для лохов.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911563
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42А я уже дома мороженку ем..
Смотри, не потеряй форму для кибер-спорта
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911564
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesответа я не знаю :) но если не указать параметр True, символы будет видно
Код: c#
1.
do {}  while (Console.ReadKey(true).Key != ConsoleKey.Escape);


Пустое тело цикла - минимум одна строчка!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911566
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один тупой вброс (вроде, самый короткий на данный момент вариант):
Код: c#
1.
while ((byte)Console.ReadKey().Key != 27);
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911568
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Дурацкие это конкурсы какие-то. Нечёткие условия, но правильный ответ только один, ага. Разводка для лохов.
Да ладно тебе. Самый чёткий ответ был у Pallaris, тут не поспоришь. У базиля - очень экстравагантное решение, но тоже рабочее и удовлетворяет всем условиям. Но есть, есть еще более изысканная и гармоничная педалька
Такие задачки заставляют раскачать окаменевший мозг, который уныло очернён трудовыми буднями. Ты, кстати, посмотри сабжевый вопрос - между прочим он способен на собеседовании свалить 90% претендентов :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911569
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
byte можно на int поменять, ну и убрать пробелы - совсем компактно и сухо станет! больше вариантов не вижу.
Код: c#
1.
while((int)Console.ReadKey().Key!=27);
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911570
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronЕще один тупой вброс (вроде, самый короткий на данный момент вариант):
Код: c#
1.
while ((byte)Console.ReadKey().Key != 27);


Было уже. Жульничество :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911571
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAxeleronЕще один тупой вброс (вроде, самый короткий на данный момент вариант):
Код: c#
1.
while ((byte)Console.ReadKey().Key != 27);



Было уже. Жульничество :)
Где было? где жульничество?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911573
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronГде было? где жульничество?
17410744
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911574
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, это 'оттюнингованный' вариант Pallaris'a
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911575
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronМСУ, это 'оттюнингованный' вариант Pallaris'a
Не, там тюнить уже нечего

P.S. Пока у нас 2 победителя )) но... будет ли третий?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911578
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, даешь ответ!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911580
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Завтра как-раз суббота, проснусь, неторопливо позавтракаю, умоюсь, посмотрю главную дорого, мож еще новости, а потом отпосщу решение на форум
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911581
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЗавтра как-раз суббота, проснусь, неторопливо позавтракаю, умоюсь, посмотрю главную дорого, мож еще новости, а потом отпосщу решение на форум
Ты только не забухай!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911614
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в linq небоcь завернул :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911619
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Изопропилв linq небоcь завернул :)
+1
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911637
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
Я тоже так подумал...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911687
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но если так, то это изврат.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911727
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я всех заборол!

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
  class Program
    {
        static void Main(string[] args)
        {
            typeof(A).GetCustomAttributes(true);
        }
    }

    [AttributeUsage(AttributeTargets.All)]
    public class MyAttr : Attribute
    {
        public MyAttr()
        {
            while ((int)Console.ReadKey().Key != 27) 
                ;
        }
    }

    [MyAttr]
    public class A
    {
    }



А и MyAttr - официальная поставка МС, клянусь! Всё из каропки!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911729
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
    class Program
    {
        [MyAttr]
        static Program()
        {
            typeof(A).GetCustomAttributes(true);
        }

        static void Main(string[] args)
        {
            //typeof(A).GetCustomAttributes(true);
        }
    }

    [AttributeUsage(AttributeTargets.All)]
    public class MyAttr : Attribute
    {
        public MyAttr()
        {
            while ((int)Console.ReadKey().Key != 27)
                ;
        }
    }

    [MyAttr]
    public class A
    {
    }
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911730
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т. е. ваще ничего - 0 строчек в Main. Йа фсех снова заборол!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911731
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рабит тока при дебаге или старте из Студии.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    class Program
    {
        [MyAttr]
        static void Main()
        {

        }
    }

    class MyAttr : Attribute
    {
        public MyAttr()
        {
            MessageBox.Show("");
        }
    }
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911732
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три раза всех заборол - меня три раза на работу возьмут?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911733
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилв linq небоcь завернул :)
А если я не подключил System.Linq?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911734
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать форму (или ApplicationContext), что закрывается по Escape, и прописать в Main ровно одну строчку Application.Run.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911735
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. в параметрах new MyForm, или контекст соответственно...
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911736
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я атрибуты ещё на прошлой странице подсказал, а никто нидагадался, ахаха!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911737
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСоздать форму (или ApplicationContext), что закрывается по Escape, и прописать в Main ровно одну строчку Application.Run.
А тебя 1 строчка, а у меня 0. Я тибя пабил!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911738
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42, ты уже какую-то свою задачку решаешь, узбагойся :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911739
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42skyANAСоздать форму (или ApplicationContext), что закрывается по Escape, и прописать в Main ровно одну строчку Application.Run.
А тебя 1 строчка, а у меня 0. Я тибя пабил!МСУИдеальный код - это код в одну строчку.
Ты перестарался с размахом и сам себя пАбил :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911740
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНемоКэп42, ты уже какую-то свою задачку решаешь, узбагойся :)
Я тибя аперидил, вот и бесишься!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911741
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНемоКэп42пропущено...

А тебя 1 строчка, а у меня 0. Я тибя пабил!МСУИдеальный код - это код в одну строчку.
Ты перестарался с размахом и сам себя пАбил :)
А форму твою святой дух создаёт, да?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911742
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42skyANAпропущено...
пропущено...

Ты перестарался с размахом и сам себя пАбил :)
А форму твою святой дух создаёт, да?ну если оператор new для тебя святой дух... :)
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911746
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУпосмотрю главную дорого
Чего? Это что-то из "Санта Барбары" или "Богатые тоже плачут", только для айтишников? Ты ещё скажи, что в 90-х сейлормун смотрел.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911748
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формально, ксатти, здесь и здесь по 2 строчки кода, а тут одна.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911751
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас МСУ покажет какую-нибудь банальность. МСУ, лучше скажи, что ты нас троллил - засчитаем за ничью.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911756
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
SpinWait.SpinUntil(() => Console.ReadKey().Key == ConsoleKey.Escape);



И никаких циклов :) Цикл только в реализации из коробки FW.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911781
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Код: c#
1.
SpinWait.SpinUntil(() => Console.ReadKey().Key == ConsoleKey.Escape);



И никаких циклов :) Цикл только в реализации из коробки FW.
Пшииииик!

Ну вот, как всегда, сначала хайпу нагонят, а потом "чёрствый хлеб с майонезом вместо торта и напитков".

МСУ, лажаешь. Это ява на тебя так действовать начинает? Скоро она тебя совсем до состояния нестояния доведёт. Акстись, пока не поздно. МС уже запускает термоядерный двигатель и скоро так стартанёт, что всяких яблокам и гуглам мало не покажется.


НемоКэп42Щас МСУ покажет какую-нибудь банальность. МСУ, лучше скажи, что ты нас троллил - засчитаем за ничью.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911782
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

ну согласись, что мой вариант с атрибутом и пустым Main самый классный.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911783
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя плюс только, что проце не грузит. Хотя, это существенный плюс.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911809
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42У тебя плюс только, что проце не грузит. Хотя, это существенный плюс.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911832
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНемоКэп42У тебя плюс только, что проце не грузит. Хотя, это существенный плюс.
А чего смешного? Задача изначально была "поприкалываться". МСУ сделал упор на количество строчек - сказал, "в идеале в одну строчку", а не "минимальный расход ресурсов". Все начали лепить строчки покороче. А он показал самую длинную строчку. А у меня вообще 0 строчек.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911835
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минимум ресурсов, 0 строчек. Всё, я всех забил!


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
   class Program
    {
        [MyAttr]
        static Program()
        {
            typeof(A).GetCustomAttributes(true);
        }

        static void Main(string[] args)
        {
        }
    }

    [AttributeUsage(AttributeTargets.All)]
    public class MyAttr : Attribute
    {
        public MyAttr()
        {
            SpinWait.SpinUntil(() => Console.ReadKey().Key == ConsoleKey.Escape);
        }
    }

    [MyAttr]
    public class A
    {
    }
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911841
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42skyANAпропущено...

А чего смешного? Задача изначально была "поприкалываться". МСУ сделал упор на количество строчек - сказал, "в идеале в одну строчку", а не "минимальный расход ресурсов".

Жги еще!
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911844
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Минимум ресурсовкак измерил? На глаз?
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911850
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Код: c#
1.
SpinWait.SpinUntil


Вот про SpinWait.SpinUntil не знал, посмотрю.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911851
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ
Код: c#
1.
SpinWait.SpinUntil(() => Console.ReadKey().Key == ConsoleKey.Escape);



И никаких циклов :) Цикл только в реализации из коробки FW.

Прикольно, чо. Запомнил

Вот еще вариация на тему
Код: c#
1.
new Task(() => { while (Console.ReadKey().Key != ConsoleKey.Escape);}).RunSynchronously();
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911862
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronМСУ
Код: c#
1.
SpinWait.SpinUntil


Вот про SpinWait.SpinUntil не знал, посмотрю.
А я недавно читал, но забыл. МСУ тоже, поди, разбирался в конкретной задаче, и наткнулся. Потом забудет.


А вы знали про MS Reference Source ? Теперь не надо грузить сборки, чтобы посмотреть их код. Ну, разве что для дебага.
...
Рейтинг: 0 / 0
Задачка на профпригодность
    #38911908
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня ещё круче - без атрибута на классе или методе! Атрибут сборки не в счёт :)
Используется PostSharp. С помощью AOP можно добавить нужное поведение в любой метод/свойство.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}



А это аспект выполняющий нужное:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
using PostSharp.Aspects;
using System;

[assembly: ConsoleApplication2.ExitAspect(AttributeTargetTypes = "ConsoleApplication2.Program")]

namespace ConsoleApplication2
{
    [Serializable]
    class ExitAspect : OnMethodBoundaryAspect
    {
        public override void OnEntry(MethodExecutionArgs args)
        {
            // здесь любой из ранее приведённых способов
            while ((int)Console.ReadKey().Key != 27) ;
        }
    }
}
...
Рейтинг: 0 / 0
463 сообщений из 463, показаны все 19 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Задачка на профпригодность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]