Отдельное приложение средства просмотра для журнала ELMAH

Если вас беспокоит ограничение типа T extends Box<T>, это означает, что только типы, которые могут быть указаны в качестве параметра типа, должны расширяться Box.

Этот метод используется для указания дополнительных операций, которые вы можете выполнять с вашим типом (например, хорошо известным Comparable<T>), так что на самом деле использование класса, а не интерфейса не очень распространено.

Позвольте привести пример. Скажем, у нас есть следующие операции

interface Op1<T>{
    void doOp1(t: T): T
}

interface Op2<T> {
   void doOp2(t: T): T
}

class MyClass implements Op1<MyClass>, Op2<MyClass>{
    //By implementing Op1 and Op2 you
    //specify that operations doOp1 and doOp2
    // can be applied to variable of typr MyClass
}

И теперь вы хотите реализовать свой универсальный контейнер, который принимает элементы типов Op1 и Op2, которые могут быть применены к

class MyContainer<T extends Op1<T> & Op2<T>>{
   //you can apply doOp1 and doOp2 to any variable of the type T
}

MyContainer<MyClass> t = //... Ok
MyContainer<Integer> t = //... Not ok
[1111 ] В функциональном программировании подобное (но не совсем то же самое) называется классом типов

13
задан Tim S. Van Haren 15 January 2010 в 14:23
поделиться

1 ответ

Вы можете переопределить имя приложения в конфигурации следующим образом ...

<elmah>
  <errorLog type="..." applicationName="YourApplicationName" />
</elmah>

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

20
ответ дан 1 December 2019 в 22:58
поделиться
Другие вопросы по тегам:

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