运算符“==”不能应用于“方法组”和“方法组”类型的操作数
Operator `==' cannot be applied to operands of type `method group' and `method group'
我正在用 C# 做一些 BLE 工作,我想在其中浏览数据列表并找到具有特定 ID 的条目。但是,以下代码抛出错误 Operator '==' cannot be applied to operands of type 'method group' and 'method group'
。当您尝试比较两种不同类型的数据时,我只遇到过这个错误,为什么要用两种类型的相同数据来做呢?
try {
foreach(var data in services)
{
if (data!=null && data.ID.PartialFromUuid == 0xA001.UuidFromPartial){ GasSenseService = data; }
Debug.WriteLineIf (data.Name == "Heart Rate", "SERVICE: data equals chosen value");
}
}
catch {
Debug.WriteLine ("Exception");
}
我正在使用 Monkey Robotics
nuget,它将每个数据定义为一个 IService。 services
是一个 ObservableCollection
.
问题似乎与 data.ID.PartialFromUuid
0xA001.UuidFromPartial
有关。我猜 0xA001
是一个十六进制整数文字, PartialFromUuid
UuidFromPartial
是扩展方法。将您的代码更改为 调用方法!
if (data!=null && data.ID.PartialFromUuid() == 0xA001.UuidFromPartial())
在 C# 中,使用 ()
调用方法,即使该方法没有参数。
其实我什么都不用猜。检查此源代码文件:https://github.com/xamarin/Monkey.Robotics/blob/master/Source/Platform%20Stacks/Robotics.Mobile.Core/Bluetooth/LE/Extensions.cs
public static Guid UuidFromPartial(this Int32 @partial)
public static string PartialFromUuid(this Guid uuid)
是的,它们是扩展方法。
我正在用 C# 做一些 BLE 工作,我想在其中浏览数据列表并找到具有特定 ID 的条目。但是,以下代码抛出错误 Operator '==' cannot be applied to operands of type 'method group' and 'method group'
。当您尝试比较两种不同类型的数据时,我只遇到过这个错误,为什么要用两种类型的相同数据来做呢?
try {
foreach(var data in services)
{
if (data!=null && data.ID.PartialFromUuid == 0xA001.UuidFromPartial){ GasSenseService = data; }
Debug.WriteLineIf (data.Name == "Heart Rate", "SERVICE: data equals chosen value");
}
}
catch {
Debug.WriteLine ("Exception");
}
我正在使用 Monkey Robotics
nuget,它将每个数据定义为一个 IService。 services
是一个 ObservableCollection
.
问题似乎与 data.ID.PartialFromUuid
0xA001.UuidFromPartial
有关。我猜 0xA001
是一个十六进制整数文字, PartialFromUuid
UuidFromPartial
是扩展方法。将您的代码更改为 调用方法!
if (data!=null && data.ID.PartialFromUuid() == 0xA001.UuidFromPartial())
在 C# 中,使用 ()
调用方法,即使该方法没有参数。
其实我什么都不用猜。检查此源代码文件:https://github.com/xamarin/Monkey.Robotics/blob/master/Source/Platform%20Stacks/Robotics.Mobile.Core/Bluetooth/LE/Extensions.cs
public static Guid UuidFromPartial(this Int32 @partial)
public static string PartialFromUuid(this Guid uuid)
是的,它们是扩展方法。