C# 带有这种参数的方法是怎么写出来的?
这种传参的函数(方法)怎么写出来的?一般的函数传参都是传变量,这里传参是可选的,而且是“参数名=值”这种方式,没见过,怎么写出这种方法呢?平常的参数是这么传的...
这种传参的函数(方法)怎么写出来的?
一般的函数传参都是传变量,这里传参是可选的,而且是“参数名=值”这种方式,没见过,怎么写出这种方法呢?
平常的参数是这么传的 展开
一般的函数传参都是传变量,这里传参是可选的,而且是“参数名=值”这种方式,没见过,怎么写出这种方法呢?
平常的参数是这么传的 展开
1个回答
展开全部
看了半天也没理解题主说的是啥,哪来的啥啥传参的方法。最后恍然大悟,题主是说的 [RegularExpression()] 这样的吧?这不是什么方法(Method),而是叫特性(Attribute),是一种元数据,用来描述被标注的元素(如类型、字段、方法和属性等)。
题主说的这个叫“特性参数”,但不一定是“参数名=值”这样的形式的(这种形式叫“命名参数”),具体要看是定位参数还是命名参数。
所谓定位参数,就是必须按特定顺序指定并且不能省略得;而命名参数,是可选的且可以按任意顺序指定。首先指定定位参数。例如:
[DllImport("user32.dll")]
[DllImport("user32.dll", SetLastError = false, ExactSpelling = false)]
[DllImport("user32.dll", ExactSpelling = false, SetLastError = false)]
这三者等效。第一个参数是定位参数(必须有,且位置固定),后两个是命名参数(可以没有,位置不固定)。
想要自己实现一个这样的特性,需要写一个类直接或间接继承 System.Attribute。具体做法不赘述了,相信题主知道这个叫啥以后自己能搜到很多资料的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |