草庐IT

operating-systems

全部标签

c# - 为什么 System.Windows.Point 和 System.Windows.Vector 是可变的?

鉴于可变结构通常被认为是邪恶的(例如Whyaremutablestructs“evil”?),是否有潜在的好处可能促使.NET框架的设计者制作System.Windows.Point&System.Windows.Vector可变?我想了解这一点,以便我可以决定让我自己的类似结构可变(如果有的话)是否有意义。使Point和Vector可变的决定可能只是判断错误,但如果有充分的理由(例如,性能优势),我想了解它是什么。我知道我在Vector.Normalize()方法的实现上被绊倒了几次,因为令人惊讶的是(!),它没有返回一个新的Vector。它只是改变了电流矢量。我一直认为它应该是这样

c# - .Net 2.0、VS2010 和 Windows 8 上的 "Could not load file or assembly System.Drawing or one of its dependencies"错误

我在Windows窗体应用程序项目上收到FileNotFoundException,并显示以下消息:Couldnotloadfileorassembly'System.Drawing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'oroneofitsdependencies.Thesystemcannotfindthefilespecified.重现问题:选择新建、项目,选择.NetFramework2.0作为目标并选择WindowsForms应用程序作为项目类型。在默认创建的表单的属性中,为Icon属性

c# - Windows 或 ASP.NET 服务中的 System.Drawing

根据MSDN,在Windows服务或ASP.NET服务中使用System.Drawing命名空间中的类并不是一个特别好的主意。现在我正在开发一个类库,它可能需要访问这个特定的命名空间(用于测量字体),但不能保证主机进程不是服务。现在,如果System.Drawing不可用,我可以回退到一个不太理想的方法,但如果可能的话,我宁愿使用System.Drawing中的类。所以我想做的是在运行时确定System.Drawing是否安全,如果安全,则使用它,否则退回到次优选项。我的问题是:我怎么可能检测System.Drawing是否可以安全使用?我想我也应该检测当前进程是Windows服务还是

c# - 如何让命名空间别名 operator::在 C# 下工作?

当我引用两个具有相同命名空间和类型名称的外部程序集时,我遇到了不太可能发生的情况。当我尝试使用该类型时,编译器抛出一个错误,指出它无法解析我要使用的类型。我看到C#提供了一种使用别名进行引用的机制。您甚至可以通过VisualStudio2008中引用的Property窗口指定这些别名。如何在我的代码中使用这个别名?据我了解,我应该使用::运算符,但它失败并出现以下错误:CS0432-Aliasnotfound通常的.运算符也会失败。在输出窗口中,我看到编译器在其命令行中正确传递了别名。非常感谢任何关于我接下来可以尝试的指示。 最佳答案

c# - 使用 System.Drawing.Color 类型的可选参数

我开始利用.Net4.0中的可选参数我遇到的问题是当我尝试声明System.Drawing.Color的可选参数时:publicmyObject(intfoo,stringbar,Colorrgb=Color.Transparent){//....}我希望Color.Transparent成为rgb参数的默认值。问题是,我一直收到这个编译错误:Defaultparametervaluefor'rgb'mustbeacompile-timeconstant如果我只能将原始类型用于可选参数,那真的会扼杀我的计划。 最佳答案 在这种情况下

c# - 无法设置为 'System.Decimal' 值。您必须将此属性设置为类型为 'System.Double' 的非空值

您好,我正在使用mvc示例从数据库中获取数据。这里我得到一个错误ExceptionDetails:System.InvalidOperationException:The'number'propertyon'Employee'couldnotbesettoa'System.Decimal'value.Youmustsetthispropertytoanon-nullvalueoftype'System.Double'.Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Plea

c# - 获取程序集中的类型(错误 : System. Reflection.ReflectionTypeLoadException)

我收到类型为“异常详细信息:System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索LoaderExceptions属性以获取更多信息。”的异常。使用以下代码:publicIEnumerableFindClassesOfType(TypeassignTypeFrom,IEnumerableassemblies,boolonlyConcreteClasses=true){foreach(varainassemblies){foreach(vartina.GetTypes())我需要获取每个程序集中定义的类型,但似乎无法

c# - 模拟 'System.Console' 行为

是否有一种标准方法可以通过针对接口(interface)而不是System.Console进行编程来使C#控制台应用程序可单元测试?例如,使用IConsole界面?你做过吗,用的是什么方法?当您的应用程序需要写入标准输出时,您是否公开了事件? 最佳答案 我认为您使用接口(interface)的方法可行,但我认为我不会使用事件。假设应用程序不接受命令行参数以外的用户输入,我可能会使用类似这样的东西来包装Console.Write/Console.WriteLine:publicinterfaceIConsoleWriter{voidW

c# - 无法加载文件或程序集“System.Runtime.InteropServices.RuntimeInformation

每当我尝试使用应用程序洞察力和EntityFramework运行webjob项目时,我都会收到此错误。System.IO.FileLoadException:'Couldnotloadfileorassembly'System.Runtime.InteropServices.RuntimeInformation,Version=0.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchth

c# - DataGridView 在添加行时抛出 "InvalidOperationException: Operation is not valid..."

我希望在用户单击单元格时出现OpenFileDialog,然后在单元格中显示结果。一切正常,除了DataGridView显示一个额外的行,用于向它绑定(bind)的列表添加值。如果dataGridView.AllowUserToAddNewRows==true,该行就会出现,这正是我想要的。我不希望应用程序在以编程方式编辑该行时崩溃;相反,它应该完全按照用户手动编辑该行时执行的操作(将新行添加到基础列表,将另一个空行推到网格上以添加值)。我阅读了有关SendKeys.Send()的内容,它应该使DataGridView的行为与用户输入的值完全一样;但是,它也不起作用。这是我正在尝试的: