属性,用于检查字符串并添加三位数的省略号

本文关键字:添加 三位数 省略号 串并 字符串 用于 检查 字符 属性 | 更新日期: 2023-09-27 18:17:51

是否有一个属性,可以检查字符串,并在字符串的长度大于最大长度时自动添加一个三位数的省号到字符串的末尾?

类的例子:

public class Test() {
  [AddEllipsis("...", MaxLength=30)]
  String Name { get; set; }
}

的例子:

Test t = new Test();
t.Name = "123456789012345678901234567890abc123";
Console.WriteLine(t.Name);
// Might look like "123456789012345678901234567..."

属性,用于检查字符串并添加三位数的省略号

您可以为

属性实现一个自定义getter
public class MyClass
{
    private string _name;
    public MyClass(string name)
    {
        _name = name;
    }
    public string Name => DoEllipsisTransform(_name, 30);
    private static string DoEllipsisTransform(string value, int maxLength)
    {
        return value.Length > maxLength
            ? $"{value.Substring(0, maxLength - 3)}..."
            : value;
    }
}