- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段非常简单的代码,在编译时出现以下错误
Error CS0012 The type 'IsLongModifier' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.VisualC, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
下面是代码的相关部分
grid.get_NumericalCell(rowIndex, "Bench2");
在 get_NumericalCell 函数调用上出现红色波浪线。
该方法可从使用 C++/C# 实现的第三方库中获取。下面是方法的签名
double get_NumericalCell(int rowIndex, string columnName);
如果我添加对 Microsoft.VisualC 的引用,错误就会消失。
IsLongModifier class 上的引用文档对于解释我为什么面临这个问题没有多大帮助。
有人可以解释为什么我需要引用 Microsoft.VisualC.IsLongModifier - 我没有看到我在代码中引用它的位置。
最佳答案
第三方库可能引用了 Microsoft.VisualC
。
get_NumericalCell()
的签名可能在 C++ 中进行了重写,如下所示:
__gc class Grid
{
double get_NumericalCell(int i, string columnName) {}
double get_NumericalCell(long l, string columnName) {}
};
这将被编译为如下所示的 IL:
[...] float64 get_NumericalCell(int32 i, ...) [...]
[...] float64 get_NumericalCell(int32 modopt([Microsoft.VisualC]Microsoft.VisualC.IsLongModifier) l, ...) [...]
添加可选修饰符 IsLongModifier
来区分两个签名,否则这两个签名将是相同的。这会隐藏 C# 中的方法,但编译器可能仍需要对 Microsoft.VisualC 的引用。您可以通过GetOptionalCustomModifiers()
检查反射方法。
关于c# - C# 代码的构建问题 - CS0012 - IsLongModifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383629/
我有一段非常简单的代码,在编译时出现以下错误 Error CS0012 The type 'IsLongModifier' is defined in an assembly that is not
我是一名优秀的程序员,十分优秀!