Коли я пишу такий код, де obj - локальна змінна:
if (obj is IMyInterface)
{
var result = (IMyInterface)obj;
// ....
}
Resharper пропонує змінити його в такий код:
var result = obj as IMyInterface;
if (result != null)
{
// ...
}
Я віддаю перевагу першому, оскільки він не надає можливості для випадкових виняткових нульових винятків. Які причини для того, щоб віддати перевагу іншій формі?
Чому Решарпер рекомендує це?