这是我的类 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
的源代码可以在 MvvmCross 的存储库下的 Github 上找到 - MvxValueConverter .
我可以构建项目,运行它并查看它是否有效。我正在使用带有最新 Xamarin 和最新版本 MvvmCross (4.0.0) 的 Visual Studio 2015
但是,在我们的 TeamCity 服务器上,相同的构建失败了:
[14:40:06][Csc] ValueConverters\BoolToVisibilityValueConverter.cs(10, 33): error CS0115: 'MyProject.Droid.ValueConverters.BoolToVisibilityValueConverter.Convert(bool, System.Type, object, System.Globalization.CultureInfo)': no suitable method found to override
[14:40:06][Csc] ValueConverters\BoolToVisibilityValueConverter.cs(15, 27): error CS0115: 'MyProject.Droid.ValueConverters.BoolToVisibilityValueConverter.ConvertBack(Android.Views.ViewStates, System.Type, object, System.Globalization.CultureInfo)': no suitable method found to override
来自 MSDN 的错误 CS0115
当一个方法被标记为重写,但编译器找不到要重写的方法
时,就会发生这种情况。 TeamCity 安装了 Visual Studio 2013。
为什么我的构建失败了?
最佳答案
您需要打开您的 android 项目的 .csproj 文件,并手动添加对 System.Globalization 的引用
关于c# - 从类继承时编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412646/