【问题标题】:ResolutionGroupName and multiple effectsResolutionGroupName 和多种效果
【发布时间】:2018-04-04 23:19:33
【问题描述】:

我创建了一个名为 Effects 的文件夹,其中应该包含我项目的所有效果。它具有以下作用:

[assembly: ResolutionGroupName("Effects")]
[assembly: ExportEffect(typeof(SomeProject.iOS.Effects.SliderEffect), "SliderEffect")]

现在我想添加另一个效果(作为单独的文件),使用相同的 ResolutionGroupName,但我得到了

重复的“ResolutionGroupName”属性

我明白that

请注意,每个项目只能应用此属性一次。

标识组名称的属性,通常是公司名称或反向公司 URL,为效果名称提供范围。

,但是如何在单独的文件中使用多种效果呢?我发现的所有例子都只使用了一种效果......

【问题讨论】:

    标签: xamarin xamarin.forms effects .net-attributes


    【解决方案1】:

    请注意,每个项目只能应用此属性一次。

    是的,没错,你只能使用一次,对于其余的效果,你不必声明 ResolutionGroupName。系统将根据唯一效果名称解析效果。

    下面的示例代码应该给出一个清晰的概念。

    下面的代码将 DummyApp 作为组名,不能针对不同的效果进行更改,而 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
        {
    

    现在表单声明示例代码将是

    public class ImageEffects : RoutingEffect
        {
            public ImageEffects() : base("DummyApp.ImageEffects")
            {
    
            }
        }
    
        public class FocusEffect : RoutingEffect
        {
            public FocusEffect() : base("DummyApp.FocusEffect")
            {
    
            }
        }
    

    希望这会有所帮助!

    【讨论】:

    猜你喜欢
    • 2012-01-28
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    相关资源
    最近更新 更多