Если имеется n свойств, то является ли Big-O из .GetProperties O (n) или есть процессы, связанные с отражением, которые увеличивают сложность?
Скажем, есть этот определенный класс:
public class Reflector
{
public string name { get; set; }
public int number { get; set; }
public bool flag { get; set; }
public List<string> etc { get; set; }
}
И тогда этот звонок сделан:
var reflect = new Reflector();
PropertyInfo[] properties = reflect.GetType().GetProperties();
Какова временная сложность, то есть Big-O, .GetProperties()
? Учитывая, что существует 4 свойства, это займет всего 4 итерации или это сложнее? Или это O (1) с некоторым стандартным набором сложности, чтобы добраться до списка - который, кажется, все еще должен быть O (n) только для построения массива свойств?