ASP.NET маршруты MVC с “расширениями файла”

Я думаю, что вы пропустили вызов size++; из конструктора V3Radiator.

В этом случае правильные размеры:

v2.size - 5

v3.size - 15

V2Radiator

import java.util.List;

class V2Radiator {
    int size = 0;

    V2Radiator(List<SimUnit> list) {
        for(int x = 0; x < 5; x++) {
            list.add(new SimUnit("V2Radiator"));
            size++;
        }

    }
}

V3Radiator

import java.util.List;

class V3Radiator extends V2Radiator {
    V3Radiator(List<SimUnit> lglist) {
        super(lglist);
        for(int g = 0; g < 10; g++) {
            lglist.add(new SimUnit("V3Radiator"));
            size++;
        }
    }
}

Некоторое объяснение внесенных мною изменений:

Вы должны использовать интерфейс List <> вместо ArrayList <> в своем конструкторе, чтобы вызывающая сторона могла принять решение о реализации этого интерфейса.

Вы должны добавить параметр type в этот список, чтобы вызывающая сторона не могла передать, например, List в ваш конструктор

11
задан Doug McClean 1 November 2008 в 18:04
поделиться

2 ответа

Я сделал метод для поддержки добавляющих пар как это следующим образом:

public static void MapRouteWithOptionalFormat(this RouteCollection routes,
                                              string name,
                                              string url,
                                              object defaults)
{
    Route implicitRoute = routes.MapRoute(name + "-ImplicitFormat",
                                          url,
                                          defaults);
    implicitRoute.Defaults.Add("format", string.Empty);

    Route explicitRoute = routes.MapRoute(name + "-ExplicitFormat",
                                          url + ".{format}",
                                          defaults);
}
12
ответ дан 3 December 2019 в 09:21
поделиться

Можно изучить использование ограничений для создания этой работы с обычными маршрутами.

ОБНОВЛЕНИЕ: на самом деле я неправильно читал вопрос. Другой ответ является корректной вещью сделать на данный момент. Или создайте пользовательский маршрут. Мы смотрим на идею дополнительных сегментов как возможная будущая функция.

0
ответ дан 3 December 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: