Я новичок в C #, хотя и не программирую, поэтому, пожалуйста, прости меня, если я немного перепутаю - это совершенно непреднамеренно. Я написал довольно простой класс под названием «API», который имеет несколько открытых свойств (аксессоры / мутаторы). Я также написал консольное приложение для тестирования, которое использует отражение, чтобы получить алфавитный список имен и типов каждого свойства в классе:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using MyNamespace; // Contains the API class
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hi");
API api = new API(1234567890, "ABCDEFGHI");
Type type = api.GetType();
PropertyInfo[] props = type.GetProperties(BindingFlags.Public);
// Sort properties alphabetically by name.
Array.Sort(props, delegate(PropertyInfo p1, PropertyInfo p2) {
return p1.Name.CompareTo(p2.Name);
});
// Display a list of property names and types.
foreach (PropertyInfo propertyInfo in type.GetProperties())
{
Console.WriteLine("{0} [type = {1}]", propertyInfo.Name, propertyInfo.PropertyType);
}
}
}
}
Теперь мне нужен метод, который перебирает свойства и объединяет все значения в строку запроса. Проблема в том, что я хотел бы сделать это функцией самого класса API (если это возможно). Мне интересно, имеют ли статические конструкторы какое-то отношение к решению этой проблемы, но я работал с C # всего несколько дней и не смог понять это.
Любые предложения, идеи и / или примеры кода будут с благодарностью!