public static T Cast(S value) { if (s_cast == null) { s_cast = new CastFunc(GenericCast.CreateCast <S, T>()); } return(s_cast(value)); }