我正在尝试使用NineOldAndroids来启用与前置3.x设备的向后兼容性,但我遇到了以下构建错误:
.../NineOldAndroids/obj/Debug/generated/src/Com.Nineoldandroids.Animation.AnimatorSet.cs(83,83):Error CS0508:
Com.Nineoldandroids.Animation.AnimatorSet.SetDuration(long)': return type must beCom.Nineoldandroids.Animation.Animator‘以匹配重写的成员`Com.Nineoldandroids.Animation.Animator.SetDuration(long)’(CS0508) (NineOldAndroids)
但是生成的代码中的签名如下所示:
public override global::Com.Nineoldandroids.Animation.AnimatorSet SetDuration (long p0)AnimatorSet的类签名如下所示:
public sealed partial class AnimatorSet : global::Com.Nineoldandroids.Animation.Animator {问题是,既然AnimatorSet是从动画家继承来的,我不知道为什么会出现问题。
您是否知道或知道如何修复将NineOldAndroids绑定到MonoDroid的示例?
发布于 2013-06-20 09:56:09
这些错误消息是因为C#不支持协变量返回类型,而JavaJava1.5支持。
将这些行添加到Transforms/Metadata.xml
<attr path="/api/package/class[@name='AnimatorSet']/method[@name='setDuration']" name="managedReturn">Com.Nineoldandroids.Animation.Animator</attr>
<attr path="/api/package/class[@name='ValueAnimator']/method[@name='setDuration']" name="managedReturn">Com.Nineoldandroids.Animation.Animator</attr>https://stackoverflow.com/questions/15444065
复制相似问题