[PropertyChanged] in Silverlight
От: Andy77 Ниоткуда  
Дата: 14.06.11 04:00
Оценка:
Я что-то делаю не так?

[PropertyChanged]
public abstract class LookAndFeel : INotifyPropertyChanged
{
   public static LookAndFeel Create()
   {
      return TypeAccessor<LookAndFeel>.CreateInstance();
   }

   public virtual double MarkerSize { get; set; }
   public virtual double MaxMarkerSize { get; set; }
   public virtual double MinMarkerSize { get; set; }

   public event PropertyChangedEventHandler PropertyChanged;
}


[TestFixture]
public class NotifyPropertyChangedTest
{
   [Test]
   public void Test()
   {
      var look = LookAndFeel.Create();
      look.MarkerSize = 77;
   }
}


System.TypeInitializationException : The type initializer for 'BLToolkit.Reflection.TypeAccessor`1' threw an exception.
----> BLToolkit.TypeBuilder.TypeBuilderException : Could not build the 'Slex.Tests.LookAndFeel' type.
----> System.ArgumentException : Interface not found.
at BLToolkit.Reflection.TypeAccessor`1.CreateInstance()
at Slex.Tests.LookAndFeel.Create() in NotifyPropertyChangedTest.cs: line 20
at Slex.Tests.NotifyPropertyChangedTest.Test() in NotifyPropertyChangedTest.cs: line 39
--TypeBuilderException
at BLToolkit.TypeBuilder.TypeFactory.GetType(Object hashKey, Type sourceType, ITypeBuilder typeBuilder)
at BLToolkit.TypeBuilder.TypeFactory.GetType(Type sourceType)
at BLToolkit.Reflection.TypeAccessor.GetAccessor(Type originalType)
at BLToolkit.Reflection.TypeAccessor`1..cctor()
--ArgumentException
at System.RuntimeTypeHandle.VerifyInterfaceIsImplemented(RuntimeTypeHandle handle, RuntimeTypeHandle interfaceHandle)
at System.RuntimeType.GetInterfaceMap(Type ifaceType)
at BLToolkit.TypeBuilder.Builders.PropertyChangedBuilder.BuildSetter()
at BLToolkit.TypeBuilder.Builders.PropertyChangedBuilder.AfterBuildVirtualSetter()
at BLToolkit.TypeBuilder.Builders.AbstractTypeBuilderBase.Build(BuildContext context)
at BLToolkit.TypeBuilder.Builders.AbstractClassBuilder.Build(BuildStep step, AbstractTypeBuilderList builders)
at BLToolkit.TypeBuilder.Builders.AbstractClassBuilder.EmitMethod(AbstractTypeBuilderList builders, MethodInfo methdoInfo, BuildElement buildElement)
at BLToolkit.TypeBuilder.Builders.AbstractClassBuilder.OverrideSetter(MethodInfo setter, AbstractTypeBuilderList propertyBuilders)
at BLToolkit.TypeBuilder.Builders.AbstractClassBuilder.OverrideVirtualProperties()
at BLToolkit.TypeBuilder.Builders.AbstractClassBuilder.Build()
at BLToolkit.TypeBuilder.Builders.AbstractClassBuilder.Build(AssemblyBuilderHelper assemblyBuilder)
at BLToolkit.TypeBuilder.TypeFactory.GetType(Object hashKey, Type sourceType, ITypeBuilder typeBuilder)

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.