Tag: .net

为什么我们需要C#中的属性

你能告诉我C#中属性的确切用法吗?我的意思是实用的解释 在我们的项目中,我们正在使用像 /// /// column order /// protected int m_order; /// /// Get/Set column order /// public int Order { get { return m_order; } set { m_order = value; } } /// /// constructor /// /// column name /// column width /// column order public ViewColumn(string name, int width, int order) { // // […]

在MVVM中为View提供一些命令

我们假设我有一些用户控制权。 用户控件有一些子窗口。 并且用户控制用户想要关闭某种类型的子窗口。 用户控制代码中有一种方法: public void CloseChildWindows(ChildWindowType type) { … } 但我无法调用此方法,因为我无法直接访问该视图。 我想到的另一个解决方案是以某种方式将用户控件ViewModel公开为其属性之一(因此我可以绑定它并直接向ViewModel发出命令)。 但我不希望用户控制用户知道有关用户控件ViewModel的任何信息。 那么解决这个问题的正确方法是什么?

在C#中,如果抛出未处理的exception,最终块将在try,catch中执行。

另一个面试问题是期待一个真/假答案,我不太确定。 重复 在.NET中,如果catch块中的某些内容失败,最终总会被调用? finally块总是运行吗? 最终没有在.net中执行的条件try..finally阻止 如果我在Try块中返回一个值,那么finally语句中的代码会触发吗?

有没有办法通过reflection获得类型的别名?

我正在编写一个简单的代码生成应用程序来从DB2数据库模式构建POCO。 我知道这没关系,但我更喜欢使用类型别名而不是实际的系统类型名称(如果它们可用),即“int”而不是“Int32”。 有没有办法使用reflection,我可以得到一个类型的别名,而不是它的实际类型? //Get the type name var typeName = column.DataType.Name; //If column.DataType is, say, Int64, I would like the resulting property generated //in the POCO to be… public long LongColumn { get; set; } //rather than what I get now using the System.Reflection.MemberInfo.Name property: public Int64 LongColumn { get; set; } 提前致谢。

如何使用PostSharp属性注入属性?

如何编写PostSharp方面以将属性应用于类? 我正在考虑的场景是需要使用DataContract属性进行修饰的WCF实体(或域对象)。 它还应该有一个Namespace属性。 像这样: using System.Runtime.Serialization; namespace MWS.Contracts.Search.V1 { namespace Domain { [DataContract(Namespace = XmlNamespaces.SchemaNamespace)] public class PagingContext { [DataMember] public int Page { get; set; } [DataMember] public int ResultsPerPage { get; set; } [DataMember] public int MaxResults { get; set; } } } } 在上面的例子中,您可以看到我想要输出的样子。 它具有应用于类的DataContract属性。 手工完成这项工作既乏味又不独特。 我真的只想写一个可以应用于我的“域”命名空间的方面。 然后它将为我应用序列化相关属性。 这样我就可以专注于开发实体对象,而不用担心序列化的细节。 我在PostSharp的网站上找到了用于在方法之前,之后和代替方法注入代码的文档。 然而,我正在寻找的是一种将属性注入类型的方法。 这是解决方案! […]

使用.NET技术录制屏幕video

有没有办法使用.NET技术记录桌面或窗口的屏幕。 我的目标是免费的。 我喜欢小巧,低CPU使用的想法,而且很简单,但如果他们创造了更好的最终产品,我会考虑其他选择。 简而言之,我知道如何在C#中截取屏幕截图,但我如何将屏幕或屏幕区域记录为video? 非常感谢您的想法和时间!

使用.NET类的OpenSSL加密

我正在寻找创建一个使用与OpenSSL兼容的.NET库的类。 我知道有一个OpenSSL.Net包装器,但我宁愿避免引用第三方\非托管代码。 我不是在寻找关于这是否是正确选择的讨论,但有理由。 目前我有以下内容,我认为应该与OpenSSL兼容 – 它有效地完成了我认为OpenSSL从OpenSSL文档中所做的事情。 但是,即使只使用此类进行加密和解密,我也会收到以下错误: [CryptographicException] Padding is invalid and cannot be removed. 我已经逐步完成了代码并validation了salt \ key \ iv在加密和解密过程中都是一样的。 请参阅下面的示例类和调用加密解密。 欢迎任何想法或指示。 public class Protection { public string OpenSSLEncrypt(string plainText, string passphrase) { // generate salt byte[] key, iv; byte[] salt = new byte[8]; RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider(); rng.GetNonZeroBytes(salt); DeriveKeyAndIV(passphrase, salt, out key, out […]

Json.NET按深度和属性序列化

例如,我们有两个类 class FooA { [SomeSpecialAttribute] public int SomeValueA { get; set; } public int SomeValueB { get; set; } public int SomeValueC { get; set; } } class FooB { public FooA FooA { get; set; } } 我使用Json.NET,最大深度是1.在序列化FooA时,它应该像往常一样输出所有属性,但是在序列化FooB时它应该只输出一个具有特殊属性的FooA属性。 因此,只有在解析嵌套引用属性(Depth> 0)时,我们才能获得单个字段。 输出应为:{“FooA”:{“SomeValueA”:“0”}} 有任何想法吗?

使用C#2.0中的Console.Write在同一位置写入字符串

我在C#2.0中有一个控制台应用程序项目,需要在while循环中向屏幕写入内容。 我不希望屏幕滚动,因为使用Console.Write或Console.Writeline方法将继续以增量方式在控制台屏幕上显示文本,从而开始滚动。 我想把字符串写在同一个位置。 我怎样才能做到这一点? 谢谢

Image.FromStream()方法返回Invalid Argumentexception

我正在从智能相机成像器捕获图像并通过套接字编程从相机接收字节数组(.NET应用程序是客户端,相机是服务器)。 问题是我在运行时得到System.InvalidArgumentexception。 private Image byteArrayToImage(byte[] byteArray) { if(byteArray != null) { MemoryStream ms = new MemoryStream(byteArray); return Image.FromStream(ms, false, false); /*last argument is supposed to turn Image data validation off*/ } return null; } 我在许多论坛上搜索过这个问题,并尝试了许多专家给出的建议,但没有任何帮助。 我不认为字节数组有任何问题,因为当我将相同的字节数组输入我的VC ++ MFC客户端应用程序时,我得到了图像。 但这在C#.NET中不起作用。 谁能帮我 ? PS: 我试图完成同样任务的其他方法是: 1。 private Image byteArrayToImage(byte[] byteArray) { if(byteArray != null) { MemoryStream ms […]