c# - 编译器如何在具有相似签名的 2 之间选择方法?
问题描述
我有枚举
public enum ContentMIMEType
{
[StringValue("application/vnd.ms-excel")]
Xls,
[StringValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")]
Xlsx
}
在扩展中,我有两种获取属性值的方法:
public static string GetStringValue<TFrom>(this TFrom enumValue)
where TFrom : struct, IConvertible
{
...
}
和
public static string GetStringValue(this Enum @enum)
{
...
}
这些方法具有不同的签名,但是当我执行下一个操作时,ContentMIMEType.Xlsx.GetStringValue()
会采用第一种方法。
为什么会发生这种情况,因为对我来说第二种方法的执行更加明显(试图改变排序顺序,但没有帮助)。
解决方案
推荐阅读
- python - 使用将它们视为一个组的两列创建数据透视表
- sql - Oracle - REGEXP_LIKE 没有给出想要的结果
- string - 如何在机器人框架中读取前面带有“#”的变量
- database - 多个索引如何影响 mongoDB 中的分片?
- r - r data.table 构建自定义滚动求和函数
- sql - 将“信息:”从结果查询转换为气流的可用数据
- java - 具有慢速缩小的 CenterCrop 图像
- amazon-web-services - 未知错误,没有消息,CF 模板在逻辑上不适用于我的自动 s3 存储桶测试
- sql-server-2012 - 启用 Service Broker(SB) 且 SB 是 AG 组的一部分时,如何在目标数据库上部署 DACPAC(数据库项目)
- google-app-engine - App Engine 上的 Sanic 服务器:RuntimeError:SPF 在启动 App 服务器之前处理请求