我创建了一个名为 Effects 的文件夹,该文件夹应该包含我项目的所有效果。它有一个效果,具有以下属性:
[assembly: ResolutionGroupName("Effects")]
[assembly: ExportEffect(typeof(SomeProject.iOS.Effects.SliderEffect), "SliderEffect")]
现在我想添加另一个效果(作为单独的文件),使用相同的ResolutionGroupName
,但我得
复制' ResolutionGroupName'属性
我理解that
请注意,此属性每个项目只能应用一次。
和
标识组名的属性,通常是公司名称或反向公司URL,为效果名称提供范围。
,但是如何在单独的文件中使用多个效果?我发现的所有例子都只使用一种效果......
答案 0 :(得分:5)
请注意,此属性每个项目只能应用一次。
是的,这是正确的,您只能使用它一次,对于您不必声明ResolutionGroupName的其他效果。系统将根据唯一效果名称解析效果。
下面的示例代码应该给出一个清晰的想法。
下面的代码将DummyApp作为groupname,不能为不同的效果和ImageEffects更改,这对于执行来说应该是唯一的。
[assembly: ResolutionGroupName("DummyApp")]
[assembly: ExportEffect(typeof(ImageEffects), "ImageEffects")]
namespace DummyApp.Droid.Effects
{
public class ImageEffects : PlatformEffect
{
现在,对于第二个效果,您只需声明并注册导出效果属性。
[assembly: ExportEffect(typeof(FocusEffect), "FocusEffect")]
namespace GrowerApp.Droid.Effects
{
public class FocusEffect : PlatformEffect
{
现在,Forms声明示例代码将是
public class ImageEffects : RoutingEffect
{
public ImageEffects() : base("DummyApp.ImageEffects")
{
}
}
public class FocusEffect : RoutingEffect
{
public FocusEffect() : base("DummyApp.FocusEffect")
{
}
}
希望这有帮助!