Пользовательский элемент управления в проекте веб-приложения .NET

C# и CLR имеют несколько различные правила преобразования.

Вы не можете непосредственно бросок между int[] и uint[] в C#, потому что язык не полагает, что любое преобразование доступно. Однако, если Вы идете через object, результат до CLI. От раздела спецификации CLI 8.7 (я надеюсь - я заключаю в кавычки переписка, которую я имел по этой теме с Eric Lippert только что):

и неподписанные интегральные типы примитивов Со знаком могут быть присвоены друг другу; например, int8: = uint8 допустим. С этой целью bool нужно считать совместимым с uint8 и наоборот, который делает bool := uint8 допустимый, и наоборот. Это также верно для массивов и неподписанных интегральных типов примитивов со знаком того же размера; например, int32[] := uint32[] допустимо.

(я не проверил, но я предполагаю, что этот вид преобразования ссылочного типа, являющегося допустимым, - то, что делает is, возвращают true также.)

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

РЕДАКТИРОВАНИЕ: Поскольку Marc удалил свой ответ, я связался с полной почтой от Eric, как отправлено на группу новостей C#.

5
задан ScottE 7 October 2009 в 23:15
поделиться

1 ответ

Вы добавляли префикс тега в web.config?

<pages>
  <controls>
    <add tagPrefix="CustomControls" namespace="MyApp.CustomControls" ...
4
ответ дан 14 December 2019 в 13:41
поделиться
Другие вопросы по тегам:

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