Tag: 对象

清洁代码:对象应该具有公共属性吗?

我正在阅读“清洁代码”一书,并且正在努力解决这个问题。 在讨论对象和数据结构时,它指出以下内容: 对象隐藏抽象背后的数据,并公开对该数据进行操作的函数。 数据结构公开其数据并且没有有意义的function。 所以,我从中获得的是我不应该在我的对象上有任何公共属性,我应该只有对属性执行操作的方法。 如果我确实需要访问属性,它们应该在数据结构上,可以从我对象上的方法返回? 使用这种方法,似乎我需要为我的对象上的Height属性使用GetHeight()和SetHeight()方法,而不是仅使用属性的get和set 。 也许我并不完全理解建议的内容,但这是我对“ 对象隐藏数据 ”的理解。 如果你能帮助我理解这一点,我将非常感激! 提前致谢!

我如何在C#中释放对象

谁能告诉我如何在C#中释放对象? 例如,我有一个对象: Object obj1 = new Object(); //Some code using obj1 /* Here I would like to free obj1, after it is no longer required and also more importantly its scope is the full run time of the program. */ 感谢你的帮助

如何在cookie中存储对象?

虽然这在C#中是可能的:(在这种情况下,User是一个L2S类) User user = // function to get user Session[“User”] = user; 为什么这不可能? User user = // function to get user HttpCookie cookie = new HttpCookie(); cookie.Value = user; 怎么能这样呢? 我不想将用户的id存储在cookie中,然后进行一些validation。 顺便说一句,如果可能的话,将对象存储在cookie中而不仅仅是ID是安全的吗?

如何动态设置c#中的数组长度

我还是C#的新手,我一直在努力解决arrays上的各种问题。 我有一组元数据对象(名称值对),我想知道如何只创建我真正需要的“InputProperty”对象的数量。 在这个循环中,我任意设置元素的数量为20,当条目变为null时我试图挽救但是接收端的Web服务不喜欢传递给它的任何null元素: private Update BuildMetaData(MetaData[] nvPairs) { Update update = new Update(); InputProperty[] ip = new InputProperty[20]; // how to make this “dynamic” int i; for (i = 0; i < nvPairs.Length; i++) { if (nvPairs[i] == null) break; ip[i] = new InputProperty(); ip[i].Name = "udf:" + nvPairs[i].Name; ip[i].Val = nvPairs[i].Value; } update.Items = […]

在C#中实现对象的审计跟踪?

我正在寻找有关如何在C#中为我的对象实现审计跟踪的想法,对于当前项目,基本上我需要: 1.存储给定对象的旧值和新值。 2.记录新对象的创建。 3.删除旧物体。 有没有通用的方法来做这个,比如使用C#Generics,这样我就不必像创建,删除等那样为基础对象的事件编写代码(ORM对象)。事情就是如果有的话如果一个人正在使用一个注入审计跟踪的方法。任何人都有任何经验或他们遵循的任何方法。任何方式在面向方面(AOP)mannner中执行此操作。 请分享您的想法等。

如何从C#中的另一个cs文件访问表单对象

在form.cs文件中,我有两个按钮,一个备忘录和一个计时器。我的问题是:如何从另一个cs文件访问计时器或备忘录? 我试图将这些对象公之于众,但它没有用,请给我一个来源或项目,所以我可以看到我错了。 谢谢!

对象之间的区别a = new Dog()vs Dog a = new Dog()

object a = new Dog(); VS Dog a = new Dog(); 在这两种情况下, a.GetType()给出了Dog 。 两者都调用相同的构造函数(具有相同的层次结构)。 那么请告诉我这两个陈述之间的区别?

值类型inheritance自System.Object …为什么?

可能重复: .NET中的所有内容都是对象吗? ValueTypes如何从Object(ReferenceType)派生而仍然是ValueTypes? 嗨,我只是不明白。 System.Object是(我认为)引用类型,但.NET中的所有数据类型都inheritance自它。 值类型也是如此。 我不明白 – 值类型在堆栈上有它的值,但它inheritance自Object? 希望有人能帮助我理解

是否可以使用工厂方法使用ac#object initializer?

我有一个带有静态工厂方法的类。 我想调用工厂来检索类的实例,然后通过c#object initializer语法进行额外的初始化: MyClass instance = MyClass.FactoryCreate() { someProperty = someValue; } VS MyClass instance = MyClass.FactoryCreate(); instance.someProperty = someValue;

序列化对象的ArrayList

我有一个存储自定义对象的ArrayList。 我想将ArrayList序列化为字符串,以便将其保存在Application设置中。 这个问题看起来要解决它,但是在java中。 而且我对XML并不聪明,所以有人可以提供帮助吗? 序列化Date对象类型的ArrayList 我有我的ArrayList设置: … MyObject tempObj = new MyObject(“something”,1,”something”); MyCollection.Add(tempObj); … 我最初有这个。 它输出字符串,但对象不存在: private string SerializeArrayList(ArrayList obj) { System.Xml.XmlDocument doc = new XmlDocument(); Type[] extraTypes = new Type[1]; extraTypes[0] = typeof(MyObject); System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ArrayList), extraTypes); System.IO.MemoryStream stream = new System.IO.MemoryStream(); try { serializer.Serialize(stream, obj); stream.Position = 0; doc.Load(stream); return doc.InnerXml; […]