new IItemTransform[0] 在 System.Web.Optimization.Bundle 中找到。我曾尝试用谷歌搜索有关此语法的任何内容,但由于搜索查询过于笼统的词而没有成功。
public virtual Bundle IncludeDirectory(string directoryVirtualPath, string searchPattern, bool searchSubdirectories)
{
if (ExceptionUtil.IsPureWildcardSearchPattern(searchPattern))
throw new ArgumentException(OptimizationResources.InvalidWildcardSearchPattern, "searchPattern");
PatternType patternType = PatternHelper.GetPatternType(searchPattern);
Exception exception1 = PatternHelper.ValidatePattern(patternType, searchPattern, "virtualPaths");
if (exception1 != null)
throw exception1;
Exception exception2 = this.Items.IncludeDirectory(directoryVirtualPath, searchPattern, patternType, searchSubdirectories, new IItemTransform[0]);
if (exception2 != null)
throw exception2;
else
return this;
}
IItemTransform:
namespace System.Web.Optimization
{
public interface IItemTransform
{
string Process(string includedVirtualPath, string input);
}
}
这感觉真的很不直观,有人认识语法吗?
最佳答案
new IItemTransform[0]
只是创建一个类型为 IItemTransform
的引用数组(大小为零)。它不会创建任何实现 IItemTransform
的对象。
它在语法上与创建空字符串数组相同:
string[] foo;
foo = new string[0];
它只是一个IItemTransform
的数组,不是string
。
关于c# - 这是什么语法,将接口(interface)初始化为类数组? (新的 IItemTransform[0]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20786559/