草庐IT

行为监控

全部标签

c# - 如何在 PowerShell 中创建具有行为(方法)的真实对象?

可能这个问题以前有人回答过....但我还没有找到满足我需求的具体答案。顺便说一句,我正在使用PowerShell3嗯,我是PowerShell的新手,但作为C#开发人员我有很多经验,所以使用对象对我来说非常重要。所以我想知道是否有一种干净的方式在PowerShell脚本中应用OOP概念(当然不是全部,尽管那会很棒),因为例如,我想做一些具体的事情。注意:我知道我可以在PowerShell中编写C#代码来创建DTO,而且我可以在C#中创建PowerShell二进制模块,我过去曾这样做过,但我正在寻找的是现在能够在PowerShell中以面向对象的方式编写我的所有代码。我想做的事情:在Po

c# - Math.Floor(double) 和 Math.Ceiling(double) 的意外行为

这个问题是关于Math.Floor(double)和Math.Ceiling(double)决定给你上一个或下一个整数值的阈值。我很不安地发现阈值似乎与Double.Epsilon无关,它是可以用double表示的最小值。例如:doublex=3.0;Console.WriteLine(Math.Floor(x-Double.Epsilon));//expected2,got3Console.WriteLine(Math.Ceiling(x+Double.Epsilon));//expected4,got3即使将Double.Epsilon乘以一个合理的位也没有成功:Console.W

c# - 在 Entity Framework 5 Code First 中覆盖 SaveChanges 以复制旧遗留库的行为

我们公司发布了一套各种操作数据库中数据的应用程序。每个应用程序都有其特定的业务逻辑,但所有应用程序共享一个公共(public)的业务规则子集。常见的东西被封装在一堆用C++编写的遗留COMDLL中,它们使用“经典ADO”(它们通常调用存储过程,有时它们使用动态SQL)。这些DLL中的大多数都有基于XML的方法(更不用说基于专有格式的方法!)来创建、编辑、删除和检索对象,还有额外的操作,例如快速复制和转换许多实体的方法。中间件DLL现在很旧,我们的应用程序开发人员想要一个新的面向对象(而不是面向xml)的中间件,它可以被C#应用程序轻松使用。公司里的很多人说我们应该忘记旧的范式,转向新的

c# - 从 using 语句中修改值类型是未定义的行为吗?

这个真的是thisquestion的一个分支,但我认为它应该得到自己的答案。根据ECMA-334的第15.13节(关于using语句,以下称为resource-acquisition):Localvariablesdeclaredinaresource-acquisitionareread-only,andshallincludeaninitializer.Acompile-timeerroroccursiftheembeddedstatementattemptstomodifytheselocalvariables(viaassignmentorthe++and--operators

c# - 在不创建新类的情况下添加更多行为

这是面试中被问到的问题。ThereisaLabelwithapropertyTextInonepagealabelissimpleLabel,inotherpagesitmayhandleanyoneorcombinationofthebelowactionsClickableResizableDraggableHowdoyoudesignthislabelcomponentthatappliesOOPdesignPrinciple&DesignPattern?我说过我会创建以下内容:publicclassLabel{publicstringText{get;set;}}publici

c# - 奇怪的 C# 编译器行为(重载解析)

我发现以下代码的C#编译器行为非常奇怪:varp1=newSqlParameter("@p",Convert.ToInt32(1));varp2=newSqlParameter("@p",1);Assert.AreEqual(p1.Value,p2.Value);//PASSvarx=0;p1=newSqlParameter("@p",Convert.ToInt32(x));p2=newSqlParameter("@p",x);Assert.AreEqual(p1.Value,p2.Value);//PASSp1=newSqlParameter("@p",Convert.ToInt32

c# - 在声明中的对象初始化与构造函数中的初始化之间经历不同的行为

这是一个WinFormsC#应用程序。以下两个片段显示了初始化对象的两种不同方式。他们给出了不同的结果。这按预期工作:publicpartialclassForm1:Form{privateCameraWrappercam;publicForm1(){cam=newCameraWrapper();InitializeComponent();}这不起作用(详情如下):publicpartialclassForm1:Form{privateCameraWrappercam=newCameraWrapper();publicForm1(){InitializeComponent();}在Ca

c# - Parallel.ForEach 错误行为

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#ValuestorageduringParallelProcessing今天我在我的控制台应用程序中运行一些性能测试,我偶然发现了一些非常出乎意料的事情。我的代码:intiterations=1000000;varmainList=newList();for(inti=0;i();Parallel.ForEach(mainList,(listItem)=>{if(Int32.Parse(listItem)%2==0){listA.Add(listItem);}});Console.WriteLine("P

c# - 组件、行为和 MonoBehaviour 之间有什么区别?为什么这些要分开?

MonoBehaviour扩展了Behaviour并且Behaviour扩展了Component。我想知道为什么要分开这些类,以及这些类的语义。将这些类分开有什么目的吗?是否有直接扩展Behaviour或Component的类?我知道我们必须使用MonoBehaviour在Unity中创建C#代码。不过,我对Unity作为游戏引擎的架构很感兴趣。 最佳答案 组件:Component是Behaviour和MonoBehaviour的基类。它是可以附加到游戏对象的任何脚本的基类。这几乎是每个Unity内置脚本的来源。这包括Collide

c# - Bitmap.SetPixel 在 f# 中的行为比在 c# 中慢

f#代码实际上比c#代码慢500倍。我究竟做错了什么?我试图使两种语言的代码基本相同。SetPixel在f#中慢得多是没有意义的。F#:moduleImagingopenSystem.Drawing;#lighttypeImage(width:int,height:int)=classmemberz.Pixels=Array2D.createwidthheightColor.Whitememberz.Widthwithget()=z.Pixels.GetLength0memberz.Heightwithget()=z.Pixels.GetLength1memberz.Save(file