我有一个PCL,我想包含一堆基类,所以我不必为每个项目再次创建它们。现在我正在考虑在Facebook上添加,因为每次我想在项目中使用我的PCL时我都必须引用一个外部dll,即使它是一个只有几个屏幕的项目,因为如果我的项目只有几个屏幕,我会生成错误我没有。
对于那些不是问题的人:我计划添加更多我不需要的外部dll。
我该如何解决这个问题?我想在我的PCL中包含使用这个dll的代码,但是我不希望每次使用PCL时都被强制包含dll。
答案 0 :(得分:1)
这里的问题是您可能希望在代码中使用外部库中的类型,而不能在不引用库的情况下执行此操作。
解决这个问题的方法是使用反射,但是你的代码会变得更复杂,你希望你没有。
另一个解决方案是:
ISocialMediaPlatform
)
这确实增加了另一层复杂性,但作为副作用,它也使您的常见PCL代码可测试。
最后,我个人更喜欢的解决方案是,根本没有一个巨大的“普通PCL”,而是将它分成几个小的,以完成一个特定的角色。