Overriding NameValueCollection ToString
本文关键字:ToString NameValueCollection Overriding | 更新日期: 2023-09-27 18:15:47
我已经编写了以下扩展方法来覆盖NameValueCollection.ToString
:
public static string ToString(this NameValueCollection a)
{
return string.Join("&", a.AllKeys.Select(k => $"{k}={a[k]}"));
}
但是它仍然使用默认的ToString
方法。
当我添加override
关键字时,我得到一个错误:
'ToString(NameValueCollection)':没有找到合适的方法来覆盖
当我添加new
关键字时,它说不需要new
关键字:
'ToString(NameValueCollection)'不隐藏继承的成员。新关键字不需要。
如果你想为NameValueCollection
重写ToString(),你需要创建一个继承NameValueCollection
的新对象
public class CustomNameValueCollection:NameValueCollection
{
public override String ToString()
{
return string.Join("&", AllKeys.Select(k => $"{k}={this[k]}"));
}
}
你在你的新CustomValueCollection中填充你的集合,你可以调用ToString()。
CustomValueCollection coll = new CustomValueCollection();
coll.Add("key", "value");
string collString = coll.ToString();