これ良いですね。

対応が可能なときに、
こちらで修正したいと思います。

```csharp
public static TResult CastByAsOp<TResult>(Control target)
    where TResult : Control
{
    var result = target as TResult;
    if (result == null)
        throw new Exception();

    return result;
}
```

あとは、「```csharp」という記法が収穫でした。