我编写的代码适用于 VS Studio ,但在 Xamarin 中无效。这是一个简单的C#代码和多态行为。
代码非常简单。首先,我创建了一个抽象基类,然后创建了一个派生类:
namespace BusinessLayer
{
abstract public class Person
{
public string ID { get; set;}
public string Name { get; set; }
public string Nummer { get; set; }
public string Strasse { get; set; }
public string PLZ { get; set; }
public string Ort { get; set; }
public string Land { get; set;}
public string Telefon { get; set;}
public string Email { get; set;}
public string Geburtstag { get; set;}
protected Person()
{
}
public virtual string GetID()
{
return this.ID;
}
}
public class Kunde : Person
{
public string ID { get; set;}
public string Name { get; set; }
public string Nummer { get; set; }
public string Strasse { get; set; }
public string PLZ { get; set; }
public string Ort { get; set; }
public string Land { get; set;}
public string Telefon { get; set;}
public string Email { get; set;}
public string Geburtstag { get; set;}
public virtual string GetID()
{
return this.ID;
}
private Kunde ()
{
}
public static Kunde Create()
{
// ein ganz neuer Kunde wird initializiert
var kunde = new Kunde ();
return kunde;
}
}
}
现在我尝试了以下代码:
Person p;
p = Kunde.Create ();
p.Name = "sdlfkj";
但p.Name
没有任何价值。同一堆代码完全在Windows项目中的 Visual Studio 中工作,但在 Xamarin 中不起作用(我使用的是 4.2.3 版本)
这是C#的基本多态行为。为什么它不能用于 Xamarin ?