我无法确定应用程序中通用参数的类型。情况就像下面的代码。当我得到一个泛型时ICollection,我需要计数。如果没有,我需要处理单个对象。
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Cat
{
public int Id { get; set; }
}
class Program
{
static void Main(string[] args)
{
Cat cat1 = new Cat { Id = 1 };
Cat cat2 = new Cat { Id = 2 };
ICollection<Cat> cats = new List<Cat>();
cats.Add(cat1);
cats.Add(cat2);
TestMethod<ICollection<Cat>>(cats);
TestMethod<Cat>(cat1);
}
public static void TestMethod<T>(T parameter)
{
//if parameter is <ICollection<Cat>>, get count of cats?
//else if (T is Cat), get id of the cat?
}
}
}
我提错了问题,它可以是猫、狗、老鼠或其他任何东西。我不知道它是什么,我也不需要。我正在尝试下面的代码并遇到铸造错误。
((ICollection)parameter).Count;
如果它是任何对象的 ICollection,我只需要计数。
非常感谢所有的答案。
青春有我
大话西游666
SMILET
相关分类