Ho un progetto Xamarin.iOS che utilizza la libreria splat https://github.com/paulcbetts/splat per rendere disponibili i tipi System.Drawing nella libreria di classi portatili. Se una classe genitore usa (diciamo) System.Drawing.RectangleF, quindi usando Splat, funziona bene sottoclasse questa classe nel codice Xamarin.IOS. Tuttavia, lo stesso non è vero per Xamarin.Mac, almeno non nel modo in cui lo sto facendo. Vari tipi sono in conflitto con se stessi - al minimo Point and RectangleF.con libreria Splat e Xamarin.Mac
Non so se questo è correlato agli aggiornamenti recenti di Xamarin (a Xamarin 6) oppure no.
Alcuni esempi di codice sono sotto, e sto facendo un progetto completo dimostrando il problema disponibile su Github. https://github.com/verybadcat/splat - ramo macbug.
Sembra simile al problema descritto qui [Splat [0.3.4] on Xamarin.iOS: issues with RectangleF and PointF.
Class portatile progetto Libreria:
using System.Drawing;
namespace PCL
{
public class RectOwner
{
public RectangleF Rect { get; set;}
}
}
progetto IOS - questo funziona bene:
using PCL;
namespace IOSApp
{
public class RectOwnerIOS: RectOwner
{
public RectOwnerIOS()
{
this.Rect = new System.Drawing.RectangleF (10, 20, 30, 40);
}
}
}
Mac progetto - non costruisce:
using PCL;
namespace MacApp
{
public class RectOwnerSubclass: RectOwner
{
public RectOwnerSubclass()
{
this.Rect = new System.Drawing.RectangleF (5, 6, 7, 8); // errors here:
// /Users/william/Documents/splat/MacApp/RectOwnerMac.cs(16,16): Error CS7069: Reference to type `System.Drawing.RectangleF' claims it is defined assembly `Splat, Version=1.6.2.0, Culture=neutral, PublicKeyToken=null', but it could not be found (CS7069) (MacApp)
// /Users/william/Documents/splat/MacApp/RectOwnerMac.cs(23,23): Error CS0029: Cannot implicitly convert type `System.Drawing.RectangleF [Xamarin.Mac, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065]' to `System.Drawing.RectangleF [Splat, Version=1.6.2.0, Culture=neutral, PublicKeyToken=null]' (CS0029) (MacApp)
}
}
}
Come posso ottenere il progetto Mac per costruire?
ho declassato a Xamarin Studio 5.10 e la corrispondente versione di Xamarin.Mac. Vedo ancora il fallimento. –