2016-02-15 1 views
2

Ceci est ma classe appelée BoolToVisibilityValueConverter:Compile erreur lorsque héritant de la classe

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; 
    } 
} 

Il hérite de MvxValueConverter qui est un paramètre de prise de classe générique From et To. La source du MvxValueConverter peut être trouvée sur Github sous le dépôt de MvvmCross - MvxValueConverter.

Je peux construire le projet, l'exécuter et le voir fonctionner. J'utilise Visual Studio 2015 avec les dernières Xamarin et la dernière version de MvvmCross (4.0.0)

Cependant, sur notre serveur TeamCity même génération échoue:

[14:40:06] [Csc ] ValueConverters \ BoolToVisibilityValueConverter.cs (10, 33): erreur CS0115: 'MyProject.Droid.ValueConverters.BoolToVisibilityValueConverter.Convert (bool, System.Type, objet, System.Globalization.CultureInfo)': aucune méthode appropriée trouvé pour annuler

[14:40:06] [Csc] ValueConverters \ BoolToVi sibilityValueConverter.cs (15, 27): CS0115 d'erreur: 'MyProject.Droid.ValueConverters.BoolToVisibilityValueConverter.ConvertBack (Android.Views.ViewStates, System.Type, objet, System.Globalization.CultureInfo)': aucune méthode appropriée trouvé pour remplacer

erreur CS0115 de MSDN se produit lorsque A method was marked as an override, but the compiler found no method to override. Le TeamCity a installé Visual Studio 2013.

Pourquoi ma construction échoue-t-elle?

+0

@CarbineCoder fait-il vraiment ce qu'il est pour? J'ai fourni le code source de celui-ci, vous pouvez le voir facilement. J'utilise MvvmCross et c'est le convertisseur à utiliser lors de la liaison de données. Comment n'est-il pas inclus dans mon projet lorsque je le nettoie, le compile et l'exécute sur mon appareil (et cela fonctionne)? L'assemblage est référencé – Nikola

Répondre

2

Vous devez ouvrir vos projets android fichier .csproj, et ajouter manuellement une référence à System.Globalization