where 泛型类型参数及约束

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

原文地址:https://www.cnblogs.com/xiaochun126/p/4978426.html