ResolutionGroupName и несколько эффектов
Я создал папку с названием Effects, которая должна содержать все эффекты для моего проекта. Это имеет один эффект со следующим атрибуцией:
[assembly: ResolutionGroupName("Effects")]
[assembly: ExportEffect(typeof(SomeProject.iOS.Effects.SliderEffect), "SliderEffect")]
Теперь я хочу добавить еще один эффект (в виде отдельного файла), с тем же ResolutionGroupName
, но я получаю
Повторяющийся атрибут ResolutionGroupName
Я понимаю что
Обратите внимание, что этот атрибут может применяться только один раз для каждого проекта.
а также
Атрибут, который идентифицирует имя группы, как правило, название компании или URL-адрес обращенной компании, который предоставляет область для имен эффектов.
, но как вы можете использовать несколько эффектов в отдельных файлах? Все примеры, которые я нашел, используют только один эффект...
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")
{
}
}
Надеюсь это поможет!