从 class 继承时出现编译错误
Compile error when inheriting from class
这是我的 class 叫 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
的泛型 class。 MvxValueConverter
的源代码可以在 MvvmCross 存储库下的 Github 上找到 - MvxValueConverter.
我可以构建项目,运行 并查看它是否有效。我正在使用 Visual Studio 2015 和最新的 Xamarin 以及最新版本的 MvvmCross (4.0.0)
但是,在我们的 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
发生在 A method was marked as an override, but the compiler found no method to override
时。 TeamCity 已安装 Visual Studio 2013。
为什么我的构建失败了?
您需要打开 android 项目的 .csproj 文件,并手动添加对 System.Globalization
的引用
这是我的 class 叫 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
的泛型 class。 MvxValueConverter
的源代码可以在 MvvmCross 存储库下的 Github 上找到 - MvxValueConverter.
我可以构建项目,运行 并查看它是否有效。我正在使用 Visual Studio 2015 和最新的 Xamarin 以及最新版本的 MvvmCross (4.0.0)
但是,在我们的 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
发生在 A method was marked as an override, but the compiler found no method to override
时。 TeamCity 已安装 Visual Studio 2013。
为什么我的构建失败了?
您需要打开 android 项目的 .csproj 文件,并手动添加对 System.Globalization
的引用