在.Net 4或4.5中,您将如何设计一个包含一组类中一个类的实例的可序列化类?例如,假设我有一个Garage类,它可以容纳任何"车辆"类型的实例,比如Car,Boat,Motorcycle,Motorhome.但是Garage只能拥有其中一个类的实例.我尝试了几种不同的方法,但我的问题是使其可序列化.
这是一个起始示例,其中Garage类中的实例只有一个选项.您应该能够将其直接插入新的控制台应用程序并进行尝试.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
namespace Patterns
{
[Serializable()]
public class Garage
{
private Vehicle _MyVehicle;
public Garage()
{
}
public string GarageOwner { get; set; }
public Vehicle MyVehicle
{
get { return _MyVehicle; }
set { _MyVehicle = value; }
}
}
[Serializable()]
public class Vehicle
{
public string VehicleType { get; set; }
public int VehicleNumber { get; set; }
}
class Serializer
{
static …Run Code Online (Sandbox Code Playgroud) 如何检查控件的锚点属性的值?
假设我有一个控件,代码开发人员可以在设计器中设置锚值。在 C# 代码中,如何检查是否为控件设置了任何特定的锚值?
例如,假设下面的 Sender 控件具有由开发人员为此控件设置的顶部、左侧和右侧锚点。检查顶部锚点是否已设置的 if 语句是什么样的?
private int DetermineMouseWhere(Control Sender)
{
if (Sender.Anchor == AnchorStyles.Top) // what should this be like
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
有些人可能会想问为什么要这样做...如果锚点设置在控件的那一侧,我不想在此控件上提供调整大小操作。