C# 带有这种参数的方法是怎么写出来的?

这种传参的函数(方法)怎么写出来的?一般的函数传参都是传变量,这里传参是可选的,而且是“参数名=值”这种方式,没见过,怎么写出这种方法呢?平常的参数是这么传的... 这种传参的函数(方法)怎么写出来的?
一般的函数传参都是传变量,这里传参是可选的,而且是“参数名=值”这种方式,没见过,怎么写出这种方法呢?
平常的参数是这么传的
展开
 我来答
然后去远足
推荐于2016-05-31 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2420万
展开全部

看了半天也没理解题主说的是啥,哪来的啥啥传参的方法。最后恍然大悟,题主是说的 [RegularExpression()] 这样的吧?这不是什么方法(Method),而是叫特性(Attribute),是一种元数据,用来描述被标注的元素(如类型、字段、方法和属性等)。


题主说的这个叫“特性参数”,但不一定是“参数名=值”这样的形式的(这种形式叫“命名参数”),具体要看是定位参数还是命名参数。


所谓定位参数,就是必须按特定顺序指定并且不能省略得;而命名参数,是可选的且可以按任意顺序指定。首先指定定位参数。例如:

[DllImport("user32.dll")]
[DllImport("user32.dll", SetLastError = false, ExactSpelling = false)]
[DllImport("user32.dll", ExactSpelling = false, SetLastError = false)]

这三者等效。第一个参数是定位参数(必须有,且位置固定),后两个是命名参数(可以没有,位置不固定)。


想要自己实现一个这样的特性,需要写一个类直接或间接继承 System.Attribute。具体做法不赘述了,相信题主知道这个叫啥以后自己能搜到很多资料的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式