为什么这个扩展方法不起作用?
public static string ToTrimmedString(this DataRow row, string columnName)
{
return row[columnName].ToString().Trim();
}
编译正常,但它没有显示在 DataRow 的智能感知中......
public static string ToTrimmedString(this DataRow row, string columnName)
{
return row[columnName].ToString().Trim();
}
Compiles fine but it doesn't show up in intellisense of the DataRow...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我的猜测是你没有包含名称空间。
My guess is you haven't included the namespace.
确保此方法位于其自己的静态类中,该类与使用 DataRow 的类不同。
在您的消费者中,确保您:
Ensure this method is in a
static class
of its own, separate class from the consuming DataRow.In your consumer, ensure you're:
我也有同样的问题。我的错误不是我错过了静态类或静态方法,而是我的扩展所在的类不是公共的。
I had this same issue. My mistake wasn't that I missed the static class or static method but that the class my extensions were on was not public.
除了漏用之外,还可能出现以下具有相同症状的情况:
如果您位于类本身的方法中(或者是其实现者/继承者),则需要使用
this
。文件扩展名.cs:
文件 user.cs
In addition to a missing using, following case with the same symptom may occur:
If you are inside a method of the class itself (or one if its implementors / inheritors), you need to make use of
this
.File extension.cs:
File user.cs
如果您使用不同的命名空间,请尝试此代码。
If you are using different namespaces try this code.
我也有同样的问题。我的错误是参数类型不一样:定义的一个是Session,撤销的一个是ISession。
I had this same issue. My mistake is the argument type is not same: defined one is Session, revokded one is ISession.