Свойство неизвестного объекта - 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);
}