我只能说你这样写错的很离谱,这样解释吧,
第一点:你的public void b中的泛型是T,而紧跟后面的约束是BaseClass,我明白你的意思,是想让b方法里面的参数是BaseClass类型的,但是你却写了BaseClass,你的T已经代表BaseClass类型了,这是何解?改成b(T t1) where T:BaseClass,把BaseClass里面的泛型和你的方法里面的泛型区分开。
第二点,调用泛型方法的时候,必须b(T类型的实例)这样写。标明泛型,综上以及截图代码得出,应该为b,string>(s);