我们如何使用自定义属性为字段赋值?

时间:2018-06-07 04:42:15

标签: c# custom-attributes

我是C#的新手,也是自定义属性的初学者。

我有两个问题:

[FindsBy(How = How.xpath, Using = "//*[@id='test']")]
public IWebElement BTN_Position;
  1. 使用此代码,BTN_Position如何初始化? FindsBy是否会返回一些值并将其分配给字段?

  2. 我正在编写自定义属性。我可以做一些最后返回值并分配给字段的东西吗?

  3. 类似于:Test属性采用两个位置参数并执行某些操作,并returnstring组合为两个string。当我使用如下代码时,应将其分配给FullName

    [TestAttribute("Firstname", "Lastname")]
    public string FullName;
    

1 个答案:

答案 0 :(得分:4)

属性仅用作元数据 。它们是类,所以它们可以有函数等,但这些函数不会被自动调用。您必须使用反射来获取属性的实例,此时您可以调用这些函数。

例如,ASP.NET MVC中的HttpPost属性实际上并不执行除保存数据之外的任何内容。 MVC反映了查找该属性的控制器方法,然后根据在该属性实例上声明的值在路由器中注册该方法。