【c# – 确定对象的类型】教程文章相关的互联网学习教程文章

源代码作为C#中的对象

有没有办法将类的源代码表示为对象?我想浏览方法,他们的身体等.如何使用像Stylecop,ReSharper这样的工具在Visual Studio 2010中做到这一点?是否有任何外部库作为输入源代码文件并产生对象的表示?我可以阅读,修改或分析哪些内容?解决方法:至于已编译的装配. Reflection可以为您提供有关对象结构的最多信息.但要获得真正的代码,你需要降到IL. 对于在Visual Studio中打开的代码,然后VS公开了许多插件使用的COM接口. EnvDTE是这个界...

c# – 从静态列表中查询对象,导致服务器上的CPU使用率出现峰值【代码】

我们有一个类似于SO上的相关问题的功能,我们在查看给定记录时显示相关记录.每次加载页面时都通过调用db来检索相关记录.为了减少db上的负载,我在Application_Start上加载了这些记录的静态List,现在使用Linq查询来查询此List. 在大多数情况下,这似乎工作正常. db上的负载减少了,Sql profiler显示没有更多的相关记录查询.昨晚我推动了这个改变,今天早上我发现IIS工作进程的CPU处于100%且网站没有响应.我切换回旧代码(我查询数据库),W...

c# – 关于面向对象和图书馆设计的几个问题

好.我对OO和库设计的某些方面有一些疑问. >图书馆应该自给自足吗?例如,它可以使用外部依赖注入框架,还是应该以更轻量级的方式实现它?> Liskov的替换原则如何适用于多态,你不知道方法或类的行为?你只是希望它能像它应该的那样工作?>在源代码部分,一个坏习惯是将接口保存在一个独立的文件夹(例如,/ interfaces)中吗?>这也是一个坏习惯,在接口上划分泛型类型(其中T:type)而不仅仅是在它们的实现中? (这个我不这么认为,但这只是...

c# – 无法将类型为’System.Data.Objects.ObjectQuery`1 [Manager.Data.Channel]’的对象强制转换为’Manager.Data.Channel’【代码】

在Win7应用程序中,我尝试更新名为“Channel”的ADO.NET数据库表中的几个字段,其EntitySetMapping名称为“Channels”,使用EF中的EntityClient访问SqlServerCe 3.5(IPManager_DBEntities). 使用VS 2010 IDE,代码编译良好,Intellisense没有任何抱怨. Channel数据表的格式在底部引用,因为一行中的各个字段(由Channel“Number”选择)需要用从代码传递给它的信息更新,为了简单起见未示出.在过去的几天里,我没有用谷歌搜索解决了我的类型铸...

c# – 使用DataContractJsonSerializer序列化Dictionary <>对象【代码】

我有以下字典<>宾语:Dictionary<String, object> parameters = new Dictionary<string, object>(); parameters.Add("username", "mike"); parameters.Add("password", "secret"); parameters.Add("persist", false);当我序列化它时:using (MemoryStream stream = new MemoryStream()) {DataContractJsonSerializer serializer = new DataContractJsonSerializer(parameters.GetType());serializer.WriteObject(stream, parameter...

c# – 循环包含对象的字典【代码】

我在字典类型集合上有以下循环foreach(KeyValuePair<Vector2, Object> entry in v_map.map_set) {}我想访问对象属性,但预期的语法不起作用.例如:foreach(KeyValuePair<Vector2, Object> entry in v_map.map_set){Object ob = entry.Value;ob.property;}失败,因为C#无法找到想要的属性.那么,我如何访问所需的属性? 解:foreach(KeyValuePair<Vector2, Object> entry in v_map.map_set){if (entry.Value is warehouse){warehouse o...

有没有办法将C#序列化对象读入Python?【代码】

我有一个包含C#序列化对象的二进制文件. 我可以用python读取内容,但得到的结果类似于:'T\x00\x00\x00Test.Jobs.GenerateJobRequest, POC.Server\xca\x02-\xa2\x02\t\x82\x01\x06\x1a\x04myahR\x1d\x08\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x10Data Lite Exportp\t\n\x16Do_Ko_Change-Job__ID_23\x10\x0c\x18\xa7\xb9\x18(\x012\x00:\x00H\xbc\x08')有没有办法在python中反序列化这个对象? 我同意这不是最佳解决方案,而J...

c# – 将2个不同对象与相同的实例名称匹配【代码】

我想知道是否可以将对象与其实例名称匹配. 我有 :class AnimatedEntity : DrawableEntity {Animation BL { get; set; }Animation BR { get; set; }Animation TL { get; set; }Animation TR { get; set; }Animation T { get; set; }Animation R { get; set; }Animation L { get; set; }Animation B { get; set; }Orientation orientation ;public virtual int Draw(SpriteBatch spriteBatch, GameTime gameTime){//draw depends on...

c# – 为什么需要冗余锁定对象?【代码】

出于好奇,我们在MSDN上查看了lock关键字:class Account {decimal balance;private Object thisLock = new Object();public void Withdraw(decimal amount){lock (thisLock){if (amount > balance){throw new Exception("Insufficient funds");}balance -= amount;}} }在上面的示例中,对象thisLock与lock关键字一起使用.为什么需要这个?它似乎没有任何其他目的.为什么不单独拥有lock关键字?解决方法:用于锁定的对象不是多余的.该...

c# – 为什么我将class2的引用放入class1的对象?【代码】

好的,所以我遇到了这段代码:class1 a = new class1(); a.Test();class1 b = new class2(); b.Test();它与虚拟和覆盖有关,但我现在的问题是:为何选择class1 b = new class2();什么时候你可以打字class2 b = new class2();因为两种解决方案都有相同的输出解决方法:在方法上使用“new”关键字而不是“覆盖”的派生类将根据其投射方式而有所不同. 例:class Class1 {public virtual void DoSomething{Console.WriteLine("Class1.DoSo...

c# – 将对象设置为null是否确定性地处理对象?【代码】

我有一个奇怪的问题,即使有相同问题的线程,我也找不到明确的答案. 问题:如果我将对象设置为null,是否会导致dispose方法(已实现)被确定地调用?例如,在下面的代码中,通过将pricingEnvironment对象设置为null,Dispose会立即调用吗?我知道如果没有调用Dispose,终结器将在某个时刻启动pricingConnvironment对象. 码:public interface IPricingService{double GetPrice(string instrument);}public interface IPricingEnvironment:ID...

c# – 带字符串的美元的动态对象【代码】

我使用此代码来获取来自youtube的视频观点:WebClient ccn = new WebClient();string dog = ccn.DownloadString("https://gdata.youtube.com/feeds/api/videos/5WEK6HgXBsQ?v=2&alt=json");dynamic obj = JsonConvert.DeserializeObject(dog);foreach (string view in obj.entry.media$group.yt$statistics.viewCount) {listBox1.Items.Add(view); }但是在字符串foreach(obj.entry.media $group.yt $statistics.viewCount中的字符串...

c# – 限制Windsor容器解析基于的对象【代码】

我想创建一个容器,它将允许解析ISomeService,但不能解析ISomeOtherService.即使我对ISomeService的注册依赖于ISomeOtherService. 那有意义吗?public interface ISomeService {}public interface ISomeOtherService {}public class SomeService : ISomeService {public SomeService(ISomeOtherService someOtherService) {} } public class SomeOtherService : ISomeOtherService {}我想要这个容器解析IsomeService的SomeService但...

c# – BackgroundWorker – 调用线程无法访问对象【代码】

所以在我的DoWork中,我有List<KeyValuePair<String, BitmapImage>> Files = new List<KeyValuePair<string,BitmapImage>>((List<KeyValuePair<String, BitmapImage>>)e.Argument);foreach (KeyValuePair<String, BitmapImage> i in Files) {string temp = i.ToString(); .......(1)//..... }我将论点传递如下: – backgroundWorkerForReupload.RunWorkerAsync(files);其中“files”属于Type List< KeyValuePair< st...

c# – 为什么这个值不是有效的DateTime对象?【代码】

我在XPath中很新,我有以下问题. 我正在研究一个读取XML文件的C#类,并使用其字段的内容设置对象属性. 在本课程中,我有以下指示:currentDeepSightVuln.Published = n_alertdocument.SelectSingleNode("./x:Published", nsmgr) == null ? DateTime.MinValue : DateTime.Parse(n_alertdocument.SelectSingleNode("./x:Published", nsmgr).InnerText);此指令使用以下字段将currentDeepSightVuln对象的Published属性的值设置为XML文件:...