Tag:

Class.Class vs Namespace.Class用于顶级通用类库?

哪一个更容易接受(最佳实践)?: namespace NP public static class IO public static class Xml … // extension methods using NP; IO.GetAvailableResources (); VS public static class NP public static class IO public static class Xml … // extension methods NP.IO.GetAvailableResources (); 同样对于#2 ,代码大小通过具有部分类来管理,因此每个嵌套类可以在单独的文件中,对于扩展方法也是相同的(除了它们没有嵌套类) 我更喜欢#2 ,原因有几个,比如能够使用已经常用的类型名称,比如IO ,我不想替换或碰撞。 你更倾向哪个? 各有利弊吗? 这种情况的最佳做法是什么? 编辑:两者之间是否会有性能差异?

如何让newtonsoft反序列化yes和no to boolean

注意:我已在此Feed的底部提供了解决方案。 我有一个C#Win 8应用程序,我正在对一些看起来像这样的json进行反序列化: { ‘Unit’: [ { ‘name’:’House 123′, isAvailable:’no’ }, { ‘name’:’House 456′, isAvailable:’yes’ }] } 进入使用此接口的类: public interface IUnit { string Name { get; } bool isAvailable { get; } } 但是牛顿软件引发了一个错误: 解析值时遇到意外的字符:n。 路径’单位[0] .isAvailable,第1行,第42位。 有没有办法根据生成的对象属性类型bool扩展Newtonsoft来解析yes / no或1/0? 现在它只适用于真/假。 类的自定义转换器上有几个post,但不是像bool这样的原始类型。 有什么建议?

C#中的struct v / s类 – 请解释一下这种行为

有人可以解释一下这种行为 class testCompile { /* * Sample Code For Purpose of Illustration */ struct person { public int age; public string name; } static void Main(string[] args) { List Listperson = new List(); person myperson = new person(); for (int i = 1; i <= 2; i++) { //Assignment myperson.age = 22+i; myperson.name = "Person […]

C#将动态字符串转换为现有类

在Windows应用程序中,使用C#,我有一个报告模块,它将依赖于类来填充报告。 但是会有很多报告,我不想为每个报告编写代码。 流程将如下:在报告编辑器中,将为报告分配一个类(即“应用程序”)作为字符串。 当用户选择要运行的报表时,代码将从SQL查询中获取数据。 代码将获取数据并找出将数据放入哪个类。 然后报告将使用该类并使用该类中的数据填充报告。 这是我的困境,我如何使代码动态化,以便代码将指定的类转换为适当的类对象? 示例: gVar = Report; (gVar.ReportClass)oClass = new gVar.ReportClass;

检测类属性是否为引用类型

是否有可能在查看类的属性时检测它们中的任何一个是否为引用类型。 以下面为例: public class Client { public int Id { get; set; } public string Name { get; set; } } public class ProgrammeClient { public int Id { get; set; } public bool IsActive { get; set; } public IClient Client { get; set; } } ProgrammeClient: – Id和IsActive是属性,但Client是引用类型。 有没有办法检测到这个? 非常感谢,Kohan。 附录 我问的原因是:我使用的映射器在匹配属性名称和复制值之前检查类型是否相同。 我希望检测类并覆盖类型匹配,如果THEY类型匹配,只需复制类属性。

类对象的内存分配

我在面试中被问过这个问题。 请帮我找到答案。 假设您有一个Employee类。 它有2个变量 – 1.字符串名称2. Int年龄 现在, Employee emp = new Employee(); 现在提出的问题是: 对象emp存储在内存中,即堆栈或堆中,如何? 名称和年龄变量存储在内存中的位置如何? 这句话中的每个单词都做了什么,即员工做了什么……然后才知道……然后是新的..然后是员工..然后()..然后; 上述声明与Employee emp之间有什么区别; ? 告诉内存分配。? 请回复您的宝贵意见。

是否可以在运行时获取类摘要?

是否可以在C#中在运行时获取类摘要? 我想通过reflection获取课程摘要,然后将其写入控制台。 通过类摘要我的意思是在类定义之前的摘要注释,如下所示: /// /// some description /// class SomeClass { } 我不知道在编译代码后这些注释是否可用,但如果它们可能有一种方法可以在代码中获取它们。 在此先感谢您的帮助。

C#派生类的XML序列化

您好我正在尝试序列化从类派生的对象数组,我使用c#继续遇到相同的错误。 任何帮助深表感谢。 很明显,这个例子已经按照现实世界中这篇文章的目的缩小了。形状将包含大量不同的形状。 Program.cs中 namespace XMLInheritTests { class Program { static void Main(string[] args) { Shape[] a = new Shape[1] { new Square(1) }; FileStream fS = new FileStream(“C:\\shape.xml”, FileMode.OpenOrCreate); XmlSerializer xS = new XmlSerializer(a.GetType()); Console.WriteLine(“writing”); try { xS.Serialize(fS, a); } catch (Exception e) { Console.WriteLine(e.InnerException.ToString()); Console.ReadKey(); } fS.Close(); Console.WriteLine(“Fin”); } } } Shape.cs namespace […]

从另一个线程_and_类更新WinForm控件

我正在制作一个WinForms程序,它需要单独的线程为了可读性和可维护性,我将所有非GUI代码分离到不同的类中。 这个类还“生成”另一个类,它进行一些处理。 但是,我现在遇到的问题是我需要从一个在另一个类中启动的线程更改WinForms控件(将字符串附加到文本框) 我已经四处搜索,并找到了不同线程的解决方案,并且在不同的类中,但不是两者,并且所提供的解决方案似乎不兼容(对我而言) 这可能是最大的“领先”: 如何从另一个类中运行的另一个线程更新UI 类层次结构示例: class WinForm : Form { … Server serv = new Server(); } // Server is in a different thread to winform class Server { … ClientConnection = new ClientConnection(); } // Another new thread is created to run this class class ClientConnection { //Want to modify winform from […]

C#:将基类转换为子类

我有一个类,NetworkClient作为基类: using System.IO; using System.Net.Sockets; using System.Threading.Tasks; namespace Network { using System; using System.Collections.Generic; using System.Linq; using System.Text; public class NetworkClient { public NetworkClient() { tcpClient = new TcpClient(); } public NetworkClient(TcpClient client) { tcpClient = client; } public virtual bool IsConnected { get; private set; } private StreamWriter writer { get; set; } private […]