Xamarin PCL项目中缺少EventHandlerList,但在平台库项目(Android/iOS)中可用

Xamarin PCL项目中缺少EventHandlerList,但在平台库项目(Android/iOS)中可用,xamarin,xamarin.ios,xamarin.android,target,portable-class-library,Xamarin,Xamarin.ios,Xamarin.android,Target,Portable Class Library,我有一个小问题——我正在尝试实现一个需要包含很多事件的类。由于内存问题,我计划实现EventHandlerList,它在我的Android库项目目标中可用,也在我的iOS库项目目标中可用,但在PCL项目中不可用。试图将PCL目标项目更改为最常用的项目,但没有一个包含我需要的内容 我的案例缺少类型: System.ComponentModel.EventHandlerList 有没有可能写一次这样的类,或者因为缺少PCL目标,我不得不写两次。您需要控制反转(IoC)来使用特定于平台的功能或不可移

我有一个小问题——我正在尝试实现一个需要包含很多事件的类。由于内存问题,我计划实现EventHandlerList,它在我的Android库项目目标中可用,也在我的iOS库项目目标中可用,但在PCL项目中不可用。试图将PCL目标项目更改为最常用的项目,但没有一个包含我需要的内容

我的案例缺少类型:

System.ComponentModel.EventHandlerList

有没有可能写一次这样的类,或者因为缺少PCL目标,我不得不写两次。

您需要控制反转(IoC)来使用特定于平台的功能或不可移植的方法

请看看这个


如果您想避免IoC,另一个选择是在Xamarin中使用,您将需要控制反转(IoC)来使用特定于平台的功能或不可移植的方法

请看看这个


如果你想避免IoC,另一个选择是在Xamarin中使用

我当然明白,你可以使用控制反转来解决这种依赖关系,但是如果Android库和iOS库上同时有一个类,那么在任何pcl目标中都有它是不好的?现在我必须100%解析双方的相同代码。现在我使用共享资产类来处理它。甚至不需要一个指令,它可能在两个平台上都可用,但实际上您希望在完全不同的PCL中使用它
System.ComponentModel.EventHandlerList
显然不能在PCL中使用。如果你想在没有IoC的情况下使用它,你可以做的是与Xamarin创建一个共享项目,并从那里使用它。@PatrykRomańczuk我在回答中添加了一个指向共享项目的参考链接。我当然知道你可以解决这样的问题使用控制反转的依赖关系,但是如果一个类同时在Android库和iOS库上可用,那么在任何pcl目标中使用它不是很好吗?现在我必须100%解析双方的相同代码。现在我使用共享资产类来处理它。甚至不需要一个指令,它可能在两个平台上都可用,但实际上您希望在完全不同的PCL中使用它
System.ComponentModel.EventHandlerList
显然不能在PCL中使用。如果您想在没有IoC的情况下使用它,您可以做的是与Xamarin创建一个共享项目并从那里使用它。@PatrykRomańczuk我在答案中添加了一个指向共享项目的参考链接