这是我不太一致的事情,并且总是对别人的行为感到好奇.
您如何访问内部属性(私有或公共)?
例如,你有这个属性:
Private _Name As String
Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
在另一个函数中的同一个类中,您更喜欢哪一个?为什么?
_Name = "Johnny"
Run Code Online (Sandbox Code Playgroud)
要么
Name = "Johnny"
Run Code Online (Sandbox Code Playgroud)
忽略我使用Name而不是Me.Name的事实.
如您所知,在Internet Explorer下出于安全原因,不允许进行跨域XMLHTTP请求.
我有一个WebBrowser控件,我正在使用DocumentText而不是NavigateURL.由于当前域是about:blank当页面尝试向自己或其他域发出请求时,我收到Access is deniedJavascript错误.
即使我使用NavigateJavascript向另一个域发出请求它也不起作用.
我怎么能绕过这个?
此HTML代码应与WebBrowser控件一起使用:
<body>
<a href="javascript:getit('http://www.google.com')">this should work</a>
<div id="x"></div>
</body>
<script>
function XHConn()
{
var xmlhttp, bComplete = false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}
if (!xmlhttp) return null;
this.connect = function(sURL, sMethod, sVars, fnDone)
{ …Run Code Online (Sandbox Code Playgroud) Resharper不承认Rowtests,这是正常的吗?无论如何要解决它吗?(除了手动拆分rowtest)
我正在寻找解析HTML的库来提取链接,表单,标签等.
LGPL或任何其他商业开发友好许可证是优选的.
你有过这个图书馆的经验吗?或者你能推荐另一个类似的图书馆?
这段代码是正确的还是有任何随机线程死锁的可能性等?
使用静态属性并锁定在一起是一个好主意吗?或者是静态属性线程安全吗?
Private Shared _CompiledRegExes As List(Of Regex)
Private Shared Regexes() As String = {"test1.Regex", "test2.Regex"}
Private Shared RegExSetupLock As New Object
Private Shared ReadOnly Property CompiledRegExes() As List(Of Regex)
Get
If _CompiledRegExes Is Nothing Then
SyncLock RegExSetupLock
If _CompiledRegExes Is Nothing Then
_CompiledRegExes = New List(Of Regex)(Regexes.Length - 1)
For Each exp As String In Parser.Regexes
_CompiledRegExes.Add(New Regex(exp, RegexOptions.Compiled Or RegexOptions.CultureInvariant Or RegexOptions.IgnoreCase))
Next
End If
End SyncLock
End If
Return _CompiledRegExes
End Get
End Property
Run Code Online (Sandbox Code Playgroud)
如果不明显代码正在编译正则表达式并存储在List(Of Regex)中,那么它们可以更快地运行.并且它是共享的,因此每个类的实例都可以从中获益.
我正在使用MS Access 2007在我的应用程序中插入和读取数据,但它确实很慢.
我有一个长期运行的应用程序,如果我从内存运行它需要大约5分钟,使用MS Access 2007大约需要13分钟!
我正在寻找一个更快但可移植的数据库选项,我正在使用.NET.我不是在寻找高级关系数据库的东西,只要它像一个像样的数据库一样,它对我来说已经足够了.
编辑:
我主要是从多个线程进行并发插入.
结果
我已经尝试过SQL Server Compact Edition 3.5 SP1,它与从内存运行几乎相同所以比访问+快400倍,而不是72MB的依赖,我有1.5MB的依赖,这很棒.
PS数据库规范化,清理,压缩,我正在使用stored_procedures和本机客户端.所以我已经尝试了很多东西让它变得更快.
我正在尝试重构一个紧密耦合的大型应用程序,并试图使其更易于维护和灵活.
我有很多单元测试,所以我希望一步一步地进行重构.
我应该考虑实施/应用哪些设计和重构模式来完成这项任务?
我能想到一些:
也可以随意分享您自己的经验和这种重构工作的最佳实践.
UPDATE
由于这个问题中解释的原因,我正在进行这种重构.基本上我不能在不提取几个接口的情况下实现插件系统,并且这些接口是高度耦合的,这需要将40多个DLL中的应用程序分开,以便在没有循环引用问题的情况下进行编译.
在.NET中我可以使用任何字符串作为字典键吗?这是模板引擎的一部分,我计划允许用户添加自定义标头和值.
标题将类似于"X值"或"分析和XYZ报告摘要",我担心如果他们会在罕见的角色或类似的东西中获得异常.
我假设有大小限制,但期望它大于256个字符.MSDN没有关于这个问题的任何细节.
如何检测文件是二进制还是纯文本?
基本上我的.NET应用程序正在处理批处理文件和提取数据但是我不想处理二进制文件.
作为一种解决方案,我正在考虑分析文件的前X个字节,如果有比可打印字符更多的不可打印字符,那么它应该是二进制的.
这是正确的方法吗?这项任务有更好的实施吗?
使用Fiddler时,它会要求安装根证书,该证书会自动解密SSL通信。但是它也告知用户,除非是测试系统,否则不应安装它。
我的理解是,由于Fiddler在每台计算机上使用相同的私钥,因此攻击者可以获取此私钥并执行真正的MITM,而用户不知道,因为计算机信任Fiddler的根。
但是,Fiddler网站上的这一行与我的共享私钥理论相矛盾:
如果客户端计算机本身以前曾以HTTPS解密模式运行Fiddler,则所有尝试访问由另一台计算机的Fiddler版本保护的HTTPS页面的尝试都会失败,并出现未指定的证书问题。若要解决此问题,请删除客户端证书存储中的Fiddler根证书。(不匹配的根证书会导致此问题,因为每个Fiddler实例都会生成自己的唯一根)。
我的问题是;为什么Fiddler不按机器创建私钥,这样才安全。如果Fiddler已经在执行此操作,为什么要告诉用户不要安装它,除非它是一个测试系统?
为了清楚起见,我正在谈论此警告:

.net ×8
performance ×2
accessor ×1
binary ×1
c# ×1
class ×1
coupling ×1
cross-domain ×1
database ×1
debugging ×1
dictionary ×1
dom ×1
fiddler ×1
file ×1
format ×1
html ×1
http ×1
key ×1
key-value ×1
locking ×1
ms-access ×1
oop ×1
parsing ×1
properties ×1
proxy ×1
refactoring ×1
resharper ×1
rowtest ×1
security ×1
unit-testing ×1
vb.net ×1