相关疑难解决方法(0)

"开启类型"还有比这更好的选择吗?

看作C#无法打开一个Type(我收集的并不是作为特殊情况添加的,因为is-a关系意味着可能有多个不同的情况可能适用),是否有更好的方法来模拟切换类型?

void Foo(object o)
{
    if (o is A)
    {
        ((A)o).Hop();
    }
    else if (o is B)
    {
        ((B)o).Skip();
    }
    else
    {
        throw new ArgumentException("Unexpected type: " + o.GetType());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# switch-statement system.type

312
推荐指数
15
解决办法
10万
查看次数

如何在C#中进行模板专业化

你会如何在C#中进行专业化?

我会提出一个问题.你有一个模板类型,你不知道它是什么.但你知道它是否来自XYZ你想要打电话.alternativeFunc().一个很好的方法是调用一个专门的函数或类,并normalCall返回,.normalFunc()同时在任何派生类型的XYZ调用上具有其他特化.alternativeFunc().如何在C#中完成?

c# partial-specialization

80
推荐指数
6
解决办法
6万
查看次数