字符串属性的自定义属性

时间:2014-11-21 11:23:39

标签: c# .net string filter custom-attributes

我有一个问题。 我想做那样的事情:

[PutStars]
public string telephone

其中PutStars可以是自定义属性,例如。

PutStars作用于字符串,因此它取代电话值[333-123456789],当获取值时,它会检索例如[333-12xxxx789]

有可能吗?

非常感谢!

2 个答案:

答案 0 :(得分:1)

好吧,你可以实现一个帮助方法,并在获取值时调用它:

private string _tel;
public string Tel 
{
  set{ _tel = value; }
  get {
    return _tel.PutStars();
  }
}

public static string PutStars(this string str)
{
 return str.Replace("1", "*");
}

或者,当你得到字符串时,你可以这样做:

var starred = myObj.Tel.PutStars();

答案 1 :(得分:1)

你最接近 inbuilt 的可能是[PasswordPropertyText],但是:a:用于掩盖整个字段,b:它完全取决于UI框架您正在使用寻找此属性;属性中没有任何自动。坦率地说,你最好的选择可能是添加第二个用于UI绑定的属性:

public string Telephone {get;set;}

public string TelephoneMasked {
    get { /* your code here */ }
}

并绑定到TelephoneMasked