Im Versuch, Legacy Windows GDI-Code in Xamarin zu verwenden, ohne den alten GDI-Code zu ändern (außer mit #if). In diesem speziellen Fall muss ich Color aus Xamrin.Forms verwenden, die in eine eigene Farbstruktur eingebettet sind. Ich bekomme den Fehler nicht umwandeln können, wie oben im Fragekopf angegeben.Wie fälschen eine Bibliothek (GDI zu Xamarin.Forms) über Namespaces und Plattformen wie Wiederverwendung von Color struct
Dies ist der Legacy-Code, der nicht modifiziert werden (oder sehr wenig) ist
#if WINDOWS
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Data;
using System.Windows.Forms;
#else //if Xamarin
using FakeGDI; //cannot specify 'using Xamarin.Forms;' in legacy class
#endif
namespace LegacyCode
{
public class MyClass
{
public MyClass()
{
Color x = Color.Yellow; //must not change legacy code
}
}
}
Dies ist der Code, das Vermächtnis GDI-Aufrufe zu Xamarin.Forms
using System;
//cannot specify 'using Xamarin.Forms;' I want to fully qualify Xamarin.Forms as shown below 'Xamarin.Forms.Color.Yellow;'
namespace FakeGDI
{
public struct Color
{
public static Color Yellow
{
get {
return Xamarin.Forms.Color.Yellow;
;}
}
}
}
Die Lösung anzupassen Ich suche, um dies zu kompilieren und die Xamarin.Forms Color-Struktur über meine Color-Struktur indirekt zu verwenden.
Was ist erforderlich, um diese Art der Konvertierung zu ermöglichen?
Der Fehler ich erhalte, ist: Kann nicht implizit Typ Xamarin.Forms.Color' to
FakeGDI.Color‘
Dank
_ "nicht angeben‚Xamarin.Forms verwendet;‘ in der Legacy-Klasse "_ - Warum nicht? –
Bitte nicht mit anderen Benutzern kollidieren und die gleiche Frage mehrmals wiederholen. Dies wird bei Stapelüberlauf als Rauschen angesehen. Wenn Ihre Frage als unbeantwortbar abgeschlossen wird oder keine Antworten anzieht, müssen Sie als Erstes die Frage * verbessern. Eine Anleitung dazu ist [hier gegeben] (http://stackoverflow.com/help/how-to-ask). Fragen mit niedriger Qualität oder nicht beantworteter Fragen werden in der Regel geschlossen, können aber erneut geöffnet werden, sofern sie verbessert oder geklärt sind (http://stackoverflow.com/questions/37505910/?noredirect=1). – Matt