>public A(object t) { i = (I)Activator.CreateInstance(typeof(B<>).GetGenericTypeDefinition().MakeGenericType(t.GetType()), t); }

むずかしすぎてわからん
解説して