创建一个从类返回参数列表(const字符串)的方法
本文关键字:const 列表 字符串 方法 参数 一个 创建 返回 | 更新日期: 2023-09-27 17:59:57
我正在开发一个包含一些常量字符串的类
public static class Constants
{
public const string CarID= "car_id";
//public const string NumberID= "number_id"; // this is the second const string might be added, so
//the new created function can return the two
}
public class CarENParameters
{
public string Params { get; set; }
public CarENParameters(string carId)
{
Params = carId;
}
}
public static class CarPropertyProcess
{
//test params
public static CarENProps Parse(Uri uri,string content)
{
string carID= Regex.Matches(content, @"'$'('#CarXL'')'.val'(('d+)')", RegexOptions.None)[0].Groups[1].Value;
var parameters = new Dictionary<string, string>
{
{Constants.CarID, carID},
};
return new CarENProps(uri.AbsoluteUri, parameters);
}
public static CarENParameters GetParameters()
{
return new CarENParameters(Constants.CarID);
}
}
在类Constants中,我有一个carID
,现在的情况是它可能有多个const字符串,比如:public const string NumberID= "number_id";
因此,我想创建一个函数来返回这些常量字符串的列表,它们是类名为CarENParameters的car_id
和number_id
,但我还没有弄清楚如何通过类中的get/set返回列表,我应该使用dictionary或keyvaluespair来实现这一点吗?我对C#还很陌生,所以希望在你们的帮助下我能有一个更好的观点。感谢
你在寻找这样的东西吗:
public static List<CarENParameters> GetParameters()
{
return new List<CarENParameters>()
{
new CarENParameters(Constants.CarID1),
new CarENParameters(Constants.CarID2),
new CarENParameters(Constants.CarID3)
}
}
您可以对此使用反射
别忘了放using System.Reflection;
// get class type
Type type = typeof(Constants);
// get a list of fields
FieldInfo[] fields = type.GetFields();
List<CarENParameters> list = new List<CarENParameters>();
// loop on field list
foreach (FieldInfo field in fields)
{
// if field is a string add it to our return list
if (field.FieldType == typeof(String))
list.Add(new CarENParameters((String) field.GetValue(null)));
}