有没有办法在编写控制台应用程序时创建第二个控制台以在.NET中输出?
我在.NET的二进制序列化中遇到了一个奇怪的行为,至少在我的期望中.
Dictionary加载的所有项目都将在OnDeserialization回调后添加到其父项.相反List,另一种方式.这在真实世界的存储库代码中可能非常烦人,例如,当您需要向字典项添加一些委托时.请检查示例代码并观察断言.
这是正常的行为吗?
[Serializable]
public class Data : IDeserializationCallback
{
public List<string> List { get; set; }
public Dictionary<string, string> Dictionary { get; set; }
public Data()
{
Dictionary = new Dictionary<string, string> { { "hello", "hello" }, { "CU", "CU" } };
List = new List<string> { "hello", "CU" };
}
public static Data Load(string filename)
{
using (Stream stream = File.OpenRead(filename))
{
Data result = (Data)new BinaryFormatter().Deserialize(stream);
TestsLengthsOfDataStructures(result);
return result;
}
}
public …Run Code Online (Sandbox Code Playgroud) 有没有办法使UserControl不可取消?
编辑:那么 SetStyle(ControlStyles.Selectable, false)
是要走的路.但仍然存在差异Control.如果继承表单,Control则初始控件不会失去焦点.但是在点击了源自UserControl和的控件之后
ControlStyles.Selectable
Run Code Online (Sandbox Code Playgroud)
应用焦点从初始控制中删除.
是否有一个属性可以在c#的xml-serialization中跳过空数组?这将增加xml输出的人类可读性.