我想知道程序/功能/订单需要多长时间才能完成测试.
这是我做的,但我的方法是错误的'因为如果秒的差异为0则无法返回经过的毫秒:
请注意,睡眠值为500毫秒,因此经过的秒数为0,则无法返回毫秒数.
Dim Execution_Start As System.DateTime = System.DateTime.Now
Threading.Thread.Sleep(500)
Dim Execution_End As System.DateTime = System.DateTime.Now
MsgBox(String.Format("H:{0} M:{1} S:{2} MS:{3}", _
DateDiff(DateInterval.Hour, Execution_Start, Execution_End), _
DateDiff(DateInterval.Minute, Execution_Start, Execution_End), _
DateDiff(DateInterval.Second, Execution_Start, Execution_End), _
DateDiff(DateInterval.Second, Execution_Start, Execution_End) * 60))
Run Code Online (Sandbox Code Playgroud)
有人能告诉我更好的方法吗?也许有一个TimeSpan?
解决方案:
Dim Execution_Start As New Stopwatch
Execution_Start.Start()
Threading.Thread.Sleep(500)
MessageBox.Show("H:" & Execution_Start.Elapsed.Hours & vbNewLine & _
"M:" & Execution_Start.Elapsed.Minutes & vbNewLine & _
"S:" & Execution_Start.Elapsed.Seconds & vbNewLine & _
"MS:" & Execution_Start.Elapsed.Milliseconds & vbNewLine, _
"Code execution time", MessageBoxButtons.OK, …Run Code Online (Sandbox Code Playgroud) 我需要使用小数.在我的程序中,用户需要输入一个带小数的数字来转换该数字.
问题是:如果我尝试将参数转换为数字,我会得到一个没有小数的整数.
# ARGV[0] is: 44.33
size = ARGV[0]
puts size.to_i
# size is: 44
# :(
Run Code Online (Sandbox Code Playgroud) 在.Net(C#和VB.NET)如果我有这样的多行文字:
__ __ _
\ \ / / | |
\ V /___ _ _ _ __ | | ___ __ _ ___
\ // _ \| | | | '__| | | / _ \ / _` |/ _ \
| | (_) | |_| | | | |___| (_) | (_| | (_) |
\_/\___/ \__,_|_| \_____/\___/ \__, |\___/
__/ |
|___/
Run Code Online (Sandbox Code Playgroud)
我可以像这样设置变量吗?
Dim Logo As String = ("
__ __ _
\ \ / / | | …Run Code Online (Sandbox Code Playgroud) 我正在使用这些System.CodeDom功能在运行时编译代码,我想知道是否可以指定编译器参数或其他解决方法来显示英语语言中的编译器错误,而不是使用系统的默认语言.
但是,在MSDN文档中,我找不到与显示语言相关的任何内容:
当我想在构建项目时在Visual Studio IDE下以特定语言显示编译器错误我所做的是更改当前文化,然后我尝试在我的应用程序中设置文化,也在我正在编译的文件中设置文化appliation,但首先不会生效,其次我会避免这样的可能的伎俩,因为它可能需要自动代码生成(调用CodeDomProvider编译器时的导入,引用和代码):
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-Us")
Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-Us")
Run Code Online (Sandbox Code Playgroud) 我需要提到一个 3rd 方程序,或者更好地说WinThumbsPreloader程序的源代码,它包含用 C# 编写的所有必要代码,用于在 Windows 缩略图缓存中预加载文件的缩略图,如您在此演示中所见:
问题是我需要预加载的是文件夹的图标,但是IThumbnailCache::GetThumbnail方法不允许传递文件夹项,它将返回错误代码0x8004B200(WTS_E_FAILEDEXTRACTION):
Shell 项不支持缩略图提取。例如,.exe 或 .lnk 项目。
换句话说,我需要做WinThumbsPreloader程序所做的同样的事情,但是文件夹图标而不是文件夹/图标缩略图。
所以,我的意思是我有一个文件夹,里面有一个desktop.ini文件,你可能知道它可以用来替换存储该desktop.ini文件的文件夹的默认图标/缩略图。desktop.ini文件内容示例:
[.ShellClassInfo]
IconResource=FolderPreview.ico,0
Run Code Online (Sandbox Code Playgroud)
我需要预加载文件夹的原因是为了避免每次浏览文件夹时生成图标缓存。
为了消除疑虑,我想避免这种缓慢的文件夹图标生成:
相反,获得这种改进的速度:
我的问题是:在 C# 或 VB.NET 中,如何以编程方式预加载 Windows 图标缓存中特定文件夹的图标?。
似乎IThumbnailCache接口不是解决这个问题的方法......
更新 1
按照@Jimi 的评论建议,这是我正在尝试的方法:
Public Shared Sub PreloadInIconCache(path As String,
Optional iconSize As Integer = 256)
Dim iIdIShellItem As New Guid("43826d1e-e718-42ee-bc55-a1e261c37bfe")
Dim shellItem As IShellItem = Nothing
Dim shellItemIF As IShellItemImageFactory
Dim iconFlags As …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个函数,我们可以获得EnumValue的Namevalue
例如:
Get_Enum_ValueName(DayOfWeek, 0)
Run Code Online (Sandbox Code Playgroud)
......这将返回" 星期天 ".
但我的代码不起作用,它说类型没有定义:
Private Function Get_Enum_ValueName(Of T)(ByVal EnumName As T, ByVal EnumValue As Integer) As String
Return DirectCast([Enum].Parse(GetType(EnumName), EnumValue ), EnumName).ToString
End Function
Run Code Online (Sandbox Code Playgroud) 我需要确定文本文件的内容是否等于这些文本编码之一:
System.Text.Encoding.ASCII
System.Text.Encoding.BigEndianUnicode ' UTF-L 16
System.Text.Encoding.Default ' ANSI
System.Text.Encoding.Unicode ' UTF16
System.Text.Encoding.UTF32
System.Text.Encoding.UTF7
System.Text.Encoding.UTF8
Run Code Online (Sandbox Code Playgroud)
我不知道如何读取文件的字节标记,我已经看到片段这样做,但只能确定文件是ASCII还是Unicode,因此我需要更通用的东西.
在C#或Vb.Net中,使用Visual Studio 2013 SDK,当显示成员的信息时,如何在Intellisense上添加其他元素?
我的意图是不添加一个完成/建议元素,我想在一个成员显示的信息下面添加自定义附加信息,该成员可以抛出异常,如方法,函数或属性(getter/setter),而不是关键字.
我读了一下Microsoft.VisualStudio.Language.Intellisense命名空间的成员,但我没有对它有任何明确的想法.
在我能得到的帮助下,我的目标是找到开发一个简单扩展的答案,该扩展将为成员添加(记录)异常信息,如下所示:
我想在Visual Studio for C#中恢复这个有用的功能,并为VB.Net添加它,如果成功的话,我会像过去那样使用这个有用的扩展来免费分享它:
我只是评论,因为任何帮助都可以通过这种方式为我们所有人带来回报!
除了我的问题,并且只有另外,如果有人可以开始指导我如何找出检索成员(<exception cref="Exception name">)的Xml文档来执行此操作的方法,或者可能是一种简单的方法,我将非常感激.
编辑:
关于Xml文档,我想到使用Visual Studio 对象浏览器来检查将由Intellisense列出的成员的异常,而不是弄乱Reflection?获取异常信息.一旦我弄清楚如何从SDK自动化对象浏览器,这可能是一种更好,更可行的方法,但我只是评论这个,也许这个问题一旦解决就会成为一个新问题,因为首先我需要解决这一步,我希望如此.
今天我发现FW 4.5有他们自己的undoredo经理(如果我理解的话)http://msdn.microsoft.com/en-us/library/System.ComponentModel.Design.UndoEngine%28v=vs.110% 29.aspx
好吧,我找不到任何关于如何开始使用这个类只是为了对基于文本的控件进行简单的撤销/重做的示例,我知道其他替代方法可以做出可撤销的事情,但我只是想学习如何使用它.
当我尝试使用构造函数时,它有任何参数要传递,而且Intellisense也没有向我显示System.ComponentModel.Design.UndoEngine该类的任何方法,我真的不知道如何使用它.
有人可能会说明我们有一个例子C#或VBNET?(如果可能请提供VBNET文档)
当我通过按下IDE上的关闭按钮关闭Visual Studio 2015时,devenv.exe进程在3-5分钟之间继续在后台运行,在此之后,它会自动关闭,真的很奇怪.
我发现这个问题是因为我试图使用自动安装扩展DTE(与过去Visual Studio 2013相同,没有任何问题),但是当我调用该方法时,dte.Quit()它不会使Visual Studio 2015关闭,的devenv.exe的意愿保持在背景永远(直到手动过程杀死).
有人可以知道我为什么会遇到这个问题?
有人有同样的问题吗?有人找到了解决问题的方法吗?
这是一个官方的错误?,是否有更新或补丁?
或者在最糟糕的情况下,在新的微软"哲学"之后,它可能是他们的间谍机制之一,即使在最终用户试图关闭IDE时也能继续运行?
我对这样的问题解决方案知之甚少,比如调试第三方应用程序或逆向工程知识,但我做了一些基本的事情:
Windows版本:
Windows Spy 10,即64位的Windows 10 Professional(v10.0.10240),在VMWare WorkStation上运行.
Visual Studio版本:
2015专业版(v14.0.23107.0)
是否安装了第三方IDE扩展或任何其他类型的修改?:
不,这是该产品的全新安装.