c# – 如何显式指定传递给函数的数组参数的大小

前端之家收集整理的这篇文章主要介绍了c# – 如何显式指定传递给函数的数组参数的大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个函数接受一个名为IV的参数.有没有我可以明确指定参数IV的大小为16?
public AESCBC(byte[] key,byte[16] inputIV)
{

   //blah blah

}

上面当然不行.可能吗?我知道我可以在函数内部检查它,并抛出一个异常,但是它可以在函数定义中定义?

解决方法

你不能,基本上正如Jaroslav所说,你可以创建自己的类型 – 但除此之外,你只是抛出一个异常.

有了Code Contracts,您可以使用静态检查器可以帮助的形式来表达:

Contract.Requires(inputIV.Length == 16);

那么如果静态检查器认为你可能违反了合同,那么这个静态检查器可以在构建时告诉你.这只适用于Visual Studio的Premium和Ultimate版本.

(您仍然可以使用代码合同而不使用VS Professional的静态检查器,但是您将无法获得合同.)

插头:如果您想要更多的信息,现在可以免费下载C# in Depth 2nd edition代码合同章节.

猜你在找的C#相关文章