winrt簡單克隆對象,winrt克隆
public MapPoint Copy()//MapPoint克隆方法
{
MapPoint p = new MapPoint();//這是我自定義的對象
//利用反射獲得類成員
FieldInfo[] fieldFroms = IntrospectionExtensions.GetTypeInfo(p.GetType()).DeclaredFields.ToArray();
FieldInfo[] fieldTos = IntrospectionExtensions.GetTypeInfo(this.GetType()).DeclaredFields.ToArray();
int lenTo = fieldTos.Length;
for (int i = 0, l = fieldFroms.Length; i < l; i++)
{
for (int j = 0; j < lenTo; j++)
{
if (fieldTos[j].Name != fieldFroms[i].Name) continue;
fieldTos[j].SetValue(p, fieldFroms[i].GetValue(this));
break;
}
}
return p;
}