Свойство неизвестного объекта - C#
Формулировка задачи:
Как правильно написать такую функцию, чтобы при передаче туда любого объекта возвращалась длина этого объекта? Предполагается, что свойство Length у него гарантированно есть.
Можно, конечно, написать как-то так:
Но мне нужно универсальное решение, чтобы срабатывало даже при таком вызове:
public static int GetLength(object a) { return a.Length; }
public static int GetLength(object a) { if (a is int[]) return (a as int[]).Length; if (a is string) return (a as String).Length; return 0; }
GetLength(new {Length = 5, Width = 2});
Решение задачи: «Свойство неизвестного объекта»
textual
Листинг программы
int GetLength(object obj) { return (int)obj.GetType().GetProperty("Length").GetValue(obj); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д