加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:42:47 所属栏目:百科 来源:网络整理
导读:我有一个函数接受一个名为IV的参数.有没有我可以明确指定参数IV的大小为16? public AESCBC(byte[] key,byte[16] inputIV){ //blah blah} 上面当然不行.可能吗?我知道我可以在函数内部检查它,并抛出一个异常,但是它可以在函数定义中定义? 解决方法 你不能,
我有一个函数接受一个名为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的代码合同章节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读