Упрощение struct->delegate c#

355
28 декабря 2016, 02:12

Есть запись данного вида

private struct WindowProperties
{
    public Action WindowDrawDelegate;
}
dialog.StartModal(entry.Id, DialogHelper.DialogType.AssignElement, new WindowProperties
    {
        WindowDrawDelegate = DrawReassignOrRemoveElementAssignmentWindow
    },
    DialogResultCallback);
dialog.StartModal(entry.Id, DialogHelper.DialogType.DeleteAssignmentConfirmation, new WindowProperties
    {
        WindowDrawDelegate = DrawModalWindow
    },
    DialogResultCallback);

Если в WindowsProperties только одна запись, не может ли это как то быть упрощено?

Answer 1

Например, так:

private struct WindowProperties
{
    public Action WindowDrawDelegate;
    public WindowProperties(Action windowDrawDelegate)
    {
        WindowDrawDelegate = windowDrawDelegate;
    }
}
dialog.StartModal(
    entry.Id, DialogHelper.DialogType.AssignElement,
    new WindowProperties(DrawReassignOrRemoveElementAssignmentWindow),
    DialogResultCallback);

Ещё можно определить implicit operator ActionWindowProperties, но это наверное не очень правильно (хоть и укоротит код).

READ ALSO
Исключение An error occured when call to 'gsapi_init_with_args' is made: -100

Исключение An error occured when call to 'gsapi_init_with_args' is made: -100

Код выдаёт исключение, в чём может быть проблема?

443
Как округлять переменные типа Date

Как округлять переменные типа Date

Есть данные со СКУДЭто время входа и время выхода

387
Значение ИЛИ в регулярном выражении

Значение ИЛИ в регулярном выражении

В html коде встречаются несколько видов

390
Как задать ширину границы формы?

Как задать ширину границы формы?

Есть форма (это пример)Как сделать все границы самой формы уже, кроме верхней? Хотелось бы на выходе получить вот так:

478