2017-06-23 1 views
1

Ich versuche, die folgenden in Xamarin Forms zu verwenden, um die Anmeldeseite basierend darauf festzulegen, ob im Debug-Modus oder nicht, wie eine Funktion umschalten.einfaches Feature Toggle in Xamarin Formen - Fehler beim Konvertieren der Zeichenfolge in Seite

Ich speichere die 2-Seite-Namen, die ich als Zeichenfolgen in einer RESX-Ressource-Datei möchten, aber ich erhalte einen Fehler, weil es nicht von der zurückgegebenen Zeichenfolge auf eine Xamarin.forms-Seite konvertieren kann.

Auch wenn ich die statische Zeichenfolge zu statischen xamarin.forms.page ändern, wird es immer noch Fehler, da das Resx eine Zeichenfolge zurückgibt.

Gibt es eine Möglichkeit, um dies zu nutzen?

public static string StartUpPage 
     { 
      get 
      { 
#if DEBUG 
       return Resources.Redirects.SwipeFeatureOff; 
#else 
       return Resources.Redirects.SwipeFeatureOn; 
#endif 
      } 
     } 

Verbrauch:

var _page = Agronomy.Config.AppConfig.StartUpPage; 
NavigationPage page = new NavigationPage(_page); 

Antwort

1

erstellen Instanz über Activator.CreateInstance nach der Art der Zeichenfolge über Type.GetType zu erhalten:

// fully qualify your string (namespace . classname) 
var _pageString = Agronomy.Config.AppConfig.StartUpPage; 
var page = (Page)Activator.CreateInstance(Type.GetType(_pageString)); 
+0

Dank für die schnelle Antwort, und was sagen Sie macht Sinn, obwohl ich einen Fehler "Wert kann nicht null sein" in der 2. Zeile Ihres Codes, ich nehme an, die Zeichenfolge in meinem Resx muss ".xaml" enthalten? – DarkW1nter

+0

@ DarkW1nter Ihr "String" muss vollqualifiziert sein (NamespaceName + "." + Klassenname) ODER verwenden Sie 'Activator.CreateInstance (Namespace, Klassenname)', Sie benötigen immer noch den Namespace, aber in diesem Fall können Sie den Namespace und Behalte den Klassennamen in deinen 'Resources ....' – SushiHangover

+0

Ging mit Namespace + className in den Ressourcen - jetzt bekommst du einen 'spezifizierten Cast nicht gültig' in derselben Zeile wie vorher (bitte schätze die Hilfe hier) – DarkW1nter

Verwandte Themen