Khi tôi viết mã như thế này, trong đó obj là một biến cục bộ:
if (obj is IMyInterface)
{
var result = (IMyInterface)obj;
// ....
}
Resharper đề nghị thay đổi nó thành mã như thế này:
var result = obj as IMyInterface;
if (result != null)
{
// ...
}
Tôi thích cái trước, vì nó không cung cấp cơ hội cho các ngoại lệ tham chiếu null vô tình. Những lý do nào để thích hình thức khác?
Tại sao Resharper đề nghị điều này?