添加泛型支持