private void InsertData<TRowMetadata, TFieldMetadata, TCellMetadata>(IMetadataReader<TRowMetadata, TFieldMetadata, TCellMetadata> dataSource, Int16 planPartitionId, bool loadblankdata)
where TRowMetadata : IRowMetadata, new()
where TFieldMetadata : new()
where TCellMetadata : ICellMetadata, new()
{
}
where TRowMetadata : IRowMetadata的含义是TRowMetadata 参数必须实现接口IRowMetadata
where TCellMetadata : ICellMetadata的含义是TCellMetadata 参数必须实现接口ICellMetadata
TRowMetadata, TFieldMetadata, TCellMetadata三个参数后面的new()指的是必须具有无参数的公共构造函数
http://www.cnblogs.com/wanghonghu/archive/2012/07/11/2586920.html