C# 扩展方法不适用于int?
调用下面的代码告诉我方法格式不存在C# 扩展方法不适用于int?,c#,.net,C#,.net,调用下面的代码告诉我方法格式不存在 public static class NumberExtensions { static string Format(this int integer) // Write one for int too, just incase :') { return string.Format("{0:n0}", integer); } } 这是变量 idItemsFinished.Format() 它只是一个int var
public static class NumberExtensions
{
static string Format(this int integer) // Write one for int too, just incase :')
{
return string.Format("{0:n0}", integer);
}
}
这是变量
idItemsFinished.Format()
它只是一个int
var idItemsFinished = Program.IdItemsProcessed;
要回答主题中的问题-是的,扩展方法对int有效,int没有什么特殊之处。事实上,它们对整型文字也有效-5。格式应该可以 您遗漏了我怀疑的问题的原因,即名称空间。代码中可能有几十个位置,尤其是依赖库,它们将扩展方法添加到int,而您不想将它们全部导入,从而导致潜在的冲突,因此您必须向代码中添加一个using语句,该语句指向numbertensions的命名空间 这与向类添加引用没有什么不同,只是VisualStudio的intellisense通常很好地突出显示未知类并为您添加一个using,但它对扩展方法没有多大帮助
只需添加一个using语句,您就可以开始了。回答主题中的问题-是的,扩展方法对int有效,int没有什么特殊之处。事实上,它们对整型文字也有效-5.格式应该可以 您遗漏了我怀疑的问题的原因,即名称空间。代码中可能有几十个位置,尤其是依赖库,它们将扩展方法添加到int,而您不想将它们全部导入,从而导致潜在的冲突,因此您必须向代码中添加一个using语句,该语句指向numbertensions的命名空间 这与向类添加引用没有什么不同,只是VisualStudio的intellisense通常很好地突出显示未知类并为您添加一个using,但它对扩展方法没有多大帮助 只需添加一个using语句,您就可以开始了。向扩展方法添加公共访问说明符应该可以解决这个问题
public int IdItemsProcessed;
向扩展方法添加公共访问说明符应该可以解决此问题
public int IdItemsProcessed;
所有类型都已具有名为ToString的format排序方法,即您可以简单地使用idItemsFinished.ToString 0。所有类型都已具有名为ToString的format排序方法,即您可以简单地使用idItemsFinished.ToString 0。