Преобразование типа использования, "как", конечно, намного быстрее, когда состав исполнителей перестал работать, поскольку это избегает расхода выдачи исключения.
, Но это не быстрее, когда бросок успешно выполняется. График в http://www.codeproject.com/KB/cs/csharpcasts.aspx вводит в заблуждение, потому что он не объясняет, что он измеряет.
нижняя строка:
, Если бы Вы ожидаете, что бросок успешно выполнится (т.е. отказ было бы исключительным), используйте бросок.
, Если Вы не знаете, успешно выполнится ли это, используйте "в качестве" оператора и протестируйте результат на пустой указатель.
Два решения:
1) Измените модель Term вашего приложения на что-нибудь другое.
2) Исправьте term-ansicolor, чтобы Term был в пространстве имен, и вместо этого используйте этот драгоценный камень.
Вот что я сделал:
sudo gem удалить term-ansicolor
sudo gem удалить огурец
Загрузить исходники для term-ansicolor и cucumber с github
Найдите термин-ansicolor источник для «термин модуля»
и замените его на «модуль ANSITerm»
Найдите источник огурца для «включить термин»
и замените на » include ANSITerm "
Найдите источник огурца для " :: Term "
и замените его на " :: ANSITerm "
sudo gem install term-ansicolor
из моего локального репозитория
] sudo gem install cucumber
из моего локального репозитория
Теперь мне нужно поддерживать два драгоценных камня, но это кажется проще, чем изменять все ссылки на модели в моем приложении.
Комментарии / предложения приветствуются.