public abstract class MyBase
{
public virtual string GetParams()
{
var list = new List<string>();
var t = this.GetType();
var members = t.GetProperties();
foreach (PropertyInfo m in members)
{
list.Add(m.Name + "=" + m.GetValue(this, null).ToString());
}
return string.Join("&", list);
}
}
public class A : MyBase
{
public string Param1 { get; set; }
public string Param2 { get; set; }
public string Param3 { get; set; }
}
调用方法:
A a = new A();
a.Param1 = "A1";
a.Param2 = "A2";
a.Param3 = "A3";
var p = a.GetParams();
Console.WriteLine(p);