【问题标题】:Compile error when inheriting from class从类继承时编译错误
【发布时间】:2016-02-15 15:04:04
【问题描述】:

这是我的班级BoolToVisibilityValueConverter:

public class BoolToVisibilityValueConverter : MvxValueConverter<bool, ViewStates>
{
    protected override ViewStates Convert(bool value, Type targetType, object parameter, CultureInfo culture)
    {
        return value ? ViewStates.Visible : ViewStates.Gone;
    }

    protected override bool ConvertBack(ViewStates value, Type targetType, object parameter, CultureInfo culture)
    {
        return ViewStates.Visible == value;
    }
}

它继承自MvxValueConverter,这是一个接受参数From 和To 的泛型类。 MvxValueConverter 的源代码可以在 Github 的 MvvmCross 存储库下找到 - MvxValueConverter。

我可以构建项目,运行它并查看它是否有效。我正在使用带有最新 Xamarin 和最新版本 MvvmCross (4.0.0) 的 Visual Studio 2015

但是,在我们的 TeamCity 服务器上,相同的构建失败:

[14:40:06][Csc] ValueConverters\BoolToVisibilityValueConverter.cs(10, 33): 错误 CS0115: 'MyProject.Droid.ValueConverters.BoolToVisibilityValueConverter.Convert(bool, System.Type, object, System.Globalization.CultureInfo)': 不合适 发现要覆盖的方法

[14:40:06][Csc] ValueConverters\BoolToVisibilityValueConverter.cs(15, 27): 错误 CS0115: 'MyProject.Droid.ValueConverters.BoolToVisibilityValueConverter.ConvertBack(Android.Views.ViewStates, System.Type, object, System.Globalization.CultureInfo)': 不合适 发现要覆盖的方法

MSDN 的错误 CS0115 发生在 A method was marked as an override, but the compiler found no method to override 时。 TeamCity 安装了 Visual Studio 2013。

为什么我的构建失败了?

【问题讨论】:

  • @CarbineCoder 它的用途真的很重要吗?我已经提供了它的源代码,你可以很容易地看到它。我正在使用 MvvmCross,这是数据绑定时使用的转换器。当我在我的设备上清理、构建和运行它(并且它可以工作)时,它是如何不包含在我的项目中的?程序集被引用

标签: c# visual-studio-2013 xamarin msbuild mvvmcross


【解决方案1】:

您需要打开您的 android 项目 .csproj 文件,并手动添加对 System.Globalization 的引用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2020-02-01
    • 2017-11-21
    • 1970-01-01
    相关资源
    最近更新 更多