小编acd*_*cdx的帖子

将URI路径转换为.NET中的相对文件系统路径

如何在.NET /foo/bar.txt中将绝对或相对URI路径(例如)转换为(分段)相应的相对文件系统路径(例如foo\bar.txt)?

我的程序不是ASP.NET应用程序.

.net c# uri path

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

C#类型转换错误,尽管通用约束

为什么,对于"必须从A继承"的类P的类型参数T的通用约束,第一次调用成功但第二次调用失败,注释中详细说明了类型转换错误:

abstract class A { }

static class S
{
    public static void DoFirst(A argument) { }
    public static void DoSecond(ICollection<A> argument) { }
}

static class P<T>
    where T : A, new()
{
    static void Do()
    {
        S.DoFirst(new T());             // this call is OK

        S.DoSecond(new List<T>());      // this call won't compile with:

        /* cannot convert from 'System.Collections.Generic.List<T>'
           to 'System.Collections.Generic.ICollection<A>' */
    }
}
Run Code Online (Sandbox Code Playgroud)

如果不是通用约束保证List<T> 是真的ICollection<A>?

c# generics constraints type-conversion covariance

3
推荐指数
1
解决办法
1966
查看次数

标签 统计

c# ×2

.net ×1

constraints ×1

covariance ×1

generics ×1

path ×1

type-conversion ×1

uri ×1