草庐IT

三种形式

全部标签

c# - C# 类订阅自己发布的事件的形式很差吗?

我可能只是神经质,但我经常发现自己有类发布事件的情况,而且我发现从类本身(例如在构造函数中)订阅这个事件很方便,而不仅仅是订阅外部类。这对我来说听起来很合理,但我忍不住觉得这是一种糟糕的做法,原因很简单,因为我总是面临这样的问题:“为什么不执行你在触发事件的代码中的事件处理程序?”publicclassButton{publicButton(){this.Click+=someHandler;//badpractice?}publiceventEventHandlerClick;publicvoidHandleInput(){if(someInputCondition){//Perfo

c# - 什么时候返回延迟的 IEnumerable<T> 是错误的形式

我很好奇是否有人对何时返回延迟的IEnumerable有任何经验法则或最佳实践或调用ToArray()在从函数返回之前在它上面。例如,作为API的使用者,我认为我更喜欢IEnumerableGetWidgets()这样的方法扔一个HttpException当我调用它而不是在枚举结果时抛出它。publicIEnumerableGetWidgets(IEnumarablewidgetIds){returnwidgetIds.Select(id=>GetWidgetFromWidgetWebService(id));} 最佳答案 我总是喜

c# - 模糊半透明形式的背景(如 Aero 玻璃)

我有一个无边框、不可调整大小的WPF窗体(WindowStyle=None、AllowsTransparency=True、ResizeMode=NoResize),背景是半透明的。下面是在记事本上运行的半透明红色矩形窗体的图片:但是,我希望背景变得模糊,就像Aeroglass那样,除了没有所有花哨的窗口边框和带条纹的彩色背景-我想自己处理。这是我希望它看起来像的模型:我怎样才能以最有效的方式实现这一目标?WinForms或WPF对我来说没问题。希望它应该使用与Aeroglass相同的东西(我对它只在启用Aero的情况下工作很好),而不是像将下面的屏幕区域捕获为位图并对其进行模糊处理这

java二维数组初始化(java二维数组初始化的三种方式)

用java求二维数组(3*3)的所有元素之和设你的数组是data[][]doublesum=0;for(inti=0;ijava一维数组/二维数组运用的例子有什么?  util。*;  publicclassTest{  publicstaticvoidmain(String[]args){  Scannerinput=newScanner(System。in);  String[]name={"a","b","c","d","e","f","g","h","i","l"};//存储学生的名字  int[][]grade={{50,60,70,80,90,10},{40,90,80,60,40

c# - 将值从一种形式传递到另一种形式

我有两个表单,名为form1和form2:form1由一个label和一个button组成。form2由一个textBox和一个button组成当我单击form1按钮时,这将显示form2。在form2中按下按钮后,textBox中的任何输入都应写回form1.label。我有下面的代码,但它不起作用。//CodefromForm1publicpartialclassForm1:Form{publicvoidPassValue(stringstrValue){label1.Text=strValue;}publicForm1(){InitializeComponent();}priva

c# - .NET 将不可打印的 ASCII 替换为十六进制代码的字符串表示形式

我有一个字符串,里面有一些不可打印的ascii字符,比如:"ABCD\x09\x05\r\n"我想用十六进制代码数字的ascii字符串表示替换这些字符,所以我得到如下内容:"ABCD[09][05][0D][0A]"最好的方法是什么?可以使用正则表达式吗? 最佳答案 模式\p{Cc}匹配任何控制字符,所以Regex.Replace(input,@"\p{Cc}",a=>string.Format("[{0:X2}]",(byte)a.Value[0]));也将替换控制字符。 关于c#-.

C# - 以字节 block 的形式从 Google Drive 下载

我目前正在为网络连接不佳的环境进行开发。我的应用程序有助于自动为用户下载所需的Google云端硬盘文件。它适用于小文件(从40KB到2MB),但对于较大的文件(9MB)却经常失败。我知道这些文件大小可能看起来很小,但就我客户的网络环境而言,GoogleDriveAPI经常因9MB文件而失败。我已经得出结论,我需要以较小的字节block下载文件,但我不知道如何使用GoogleDriveAPI来做到这一点。我读过this一遍又一遍,我尝试了以下代码://withtheDriveFileID,andtheappropriateexportMIMEtype,Icreatetheexportre

c# - 无边框形式的 Windows 7 风格 Dropshadow

ShortVersion:目标:在C#中的无边界WinForm中深沉、黑暗的Windows7阴影已知的现有解决方案1:使用CreateParams的简单XP风格投影。问题:太弱、太轻、太丑。已知现有解决方案2:用位图替换form的GDI。问题:无法使用控件,只能用作启动画面。这篇文章的目标:找到这个问题的中间解决方案或一个更好的解决方案。...LongVersion:(编辑:如果不清楚的话,我指的是沿着任何窗体边框的阴影。)我知道有一种方法可以使用C#制作XP风格的阴影:C#代码1-简单的XP风格阴影(问题:变亮、变弱、变丑)//DefinetheCS_DROPSHADOWconsta

c# - 获取对象的完整字符串表示形式(如在 Visual Studio 的即时窗口中)

给定以下示例类:publicclassMyClass{publicstringS{get;set;}publicintI{get;set;}publicDateTimeD{get;set;}privatefloatF{get;set;}privatelongl;publicMyClass(){S="foo";I=42;D=newDateTime(2011,11,11);F=3.14f;l=12435;}}如果我在我的应用程序中有一个此类的实例myClass,请在Debug模式(VisualStudio2010)中单步执行代码,并在某些时候将myClass键入立即窗口,显示以下内容:{M

c# - Array 类和 Enum.GetValues() 的简单形式

我正在使用静态方法Enum.GetValues(typeof(SomeEnum));当您需要做的只是枚举值时,此方法非常有用,但出于某种原因,它返回一个非常简单的Array类形式。我正在尝试找到一种简单的方法将其返回值转换为更“正常”的集合类,例如常规数组或List。到目前为止,如果我想这样做,我必须枚举Enum.GetValues(typeof(SomeEnum));的输出。并将它们一一添加到列表。有什么想法可以更干净地做到这一点吗?答案:关键是对返回结果进行强制转换--SomeEnum[]enums=(SomeEnum[])Enum.GetValues(typeof(SomeEnu