tes*_*ing 5 effects xamarin xamarin.forms .net-attributes
我创建了一个名为Effects的文件夹,其中应包含项目的所有效果。归因于以下因素,它具有一种作用:
[assembly: ResolutionGroupName("Effects")]
[assembly: ExportEffect(typeof(SomeProject.iOS.Effects.SliderEffect), "SliderEffect")]
Run Code Online (Sandbox Code Playgroud)
现在,我想添加另一个具有相同效果的效果(作为单独的文件)ResolutionGroupName,但是我得到了
重复的“ ResolutionGroupName”属性
我的理解是
请注意,每个项目只能应用一次此属性。
和
标识组名称(通常是公司名称或反向的公司URL)的属性,该名称提供了效果名称的范围。
,但是如何在单独的文件中使用多种效果?我发现的所有示例仅使用一种效果...
请注意,每个项目只能应用一次此属性。
是的,这是正确的,您只能使用一次,对于其余效果,您不必声明ResolutionGroupName。系统将根据唯一效果名称解析效果。
下面的示例代码应给出清晰的思路。
下面的代码将DummyApp作为组名,不能为不同的效果而更改,而ImageEffects应该是唯一的才能执行。
[assembly: ResolutionGroupName("DummyApp")]
[assembly: ExportEffect(typeof(ImageEffects), "ImageEffects")]
namespace DummyApp.Droid.Effects
{
public class ImageEffects : PlatformEffect
{
Run Code Online (Sandbox Code Playgroud)
现在,对于第二个效果,您只需声明并注册导出效果属性即可。
[assembly: ExportEffect(typeof(FocusEffect), "FocusEffect")]
namespace GrowerApp.Droid.Effects
{
public class FocusEffect : PlatformEffect
{
Run Code Online (Sandbox Code Playgroud)
现在,表单声明示例代码将为
public class ImageEffects : RoutingEffect
{
public ImageEffects() : base("DummyApp.ImageEffects")
{
}
}
public class FocusEffect : RoutingEffect
{
public FocusEffect() : base("DummyApp.FocusEffect")
{
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1712 次 |
| 最近记录: |