public static class AotSafeExtensions { // こんなメソッドを用意しておくと public static IEnumerable AsSafeEnumerable(this IEnumerable source) { var e = ((IEnumerable)source).GetEnumerator(); using (e as IDisposable) { while (e.MoveNext()) { yield return (T)e.Current; } } } }