Когда нужно привести объект к какому-то типу только чтобы вызвать один метод, очень раздражает синтаксис cast`а — слишком много скобочек приходится набирать и конструкция не очень читабельна:
((SomeType) target).DoWork();
В этом случае спасет такой простой extension:
public static T As<T>(this object @object)
{
return (T) @object;
}
Теперь можно писать так:
target.As<SomeType>().DoWork();