我们想要在Control.Invoke中匿名调用委托的语法有点麻烦.
我们已经尝试了许多不同的方法,但都无济于事.
例如:
myControl.Invoke(delegate() { MyMethod(this, new MyEventArgs(someParameter)); });
Run Code Online (Sandbox Code Playgroud)
其中someParameter是此方法的本地
以上将导致编译器错误:
无法将匿名方法转换为类型'System.Delegate',因为它不是委托类型
查看在我自己的订单表单中嵌入3D Secure页面的选项,我遇到了以下内容:
"有些商业网站会将完整的浏览器页面用于身份验证,而不是使用框架(不一定是iFrame,无论如何都是一个不太安全的对象)."
来自http://en.wikipedia.org/wiki/3-D_Secure
有人可以给我一个关于为什么 iframe安全性较低并导致问题的低调,而不是正常的框架?有什么基本的区别?
我看到它iframe
的方式是要走的路.
我正在对一个Web应用程序进行压力测试,并设置了一个Windows测试程序,该程序可以旋转多个线程并在每个线程上发出Web请求.
问题是我得到以下输出:
01/09/09 11:34:04 Starting new HTTP request on 10
01/09/09 11:34:04 Starting new HTTP request on 11
01/09/09 11:34:04 Starting new HTTP request on 13
01/09/09 11:34:05 Starting new HTTP request on 14
01/09/09 11:34:05 Starting new HTTP request on 11
01/09/09 11:34:05 11 has finished!
01/09/09 11:34:05 Starting new HTTP request on 13
01/09/09 11:34:05 13 has finished!
01/09/09 11:34:05 Starting new HTTP request on 14
01/09/09 11:34:05 14 has finished!
01/09/09 11:34:05 Starting new HTTP request on …
Run Code Online (Sandbox Code Playgroud) 有没有人知道如何在使用jQuery设置类名时转义方括号字符?
请尝试以下方法:
$('#txtFirstname').addClass('test[someval]')
Run Code Online (Sandbox Code Playgroud)
然后
$('#txtFirstname').attr('class')
Run Code Online (Sandbox Code Playgroud)
你会看到班级在那里.
现在试试
$('#txtFirstname').hasClass('test[someval]')
Run Code Online (Sandbox Code Playgroud)
失败
我能想到的唯一原因是方括号.
我需要这些用于我看到的jQuery验证.
任何建议赞赏
干杯邓肯
在作为继承树底部的类名中使用"Base"这个词是否可以接受?
我总是发现这有点像一个警察,只是想知道是否有人同意我.
例如,如果我将MyClassA和MyClassB中的某些元素重构为公共基类,我很想创建一个MyBaseClass,两者继承.
但是如果我需要重构MyBaseClass会发生什么?MyBaseBaseClass?现在那真是太傻了.
我知道Rocky Lhotka不介意他的CSLA框架,但我总是对编程中的'definites'感到不安.
思考?
让我澄清为什么我甚至担心这一点.
我有两个名称空间 - MySpecificNamespace和MyCommonNamespace.正如您所料,MyNamespace使用MyCommonNamespace.
现在,我希望尽可能最大限度地使用命名空间来描述问题的上下文,并避免将上下文添加到类名中.因此,例如,考虑我在MyNamespace中有一个类,它来自MyCommonNamespace中的一个类.
选项A.
我可以称之为
MySpecificClass: MyClass
{
}
Run Code Online (Sandbox Code Playgroud)
但后来我在名称中添加了"特定"(上下文) - 这是多余的,因为它已经在MySpecificNamespace中.
选项B.
MyClass: MyCommonNamespace.MyClass
{
}
Run Code Online (Sandbox Code Playgroud)
你可以看到我们在这里如何混淆,对吧?
选项C.
我觉得这个很可疑:
MyClass: MyBaseClass
{
}
Run Code Online (Sandbox Code Playgroud) 通过AJAX从标准HTTP页面调用HTTPS页面(例如信用卡授权服务,即WorldPay)会有任何问题吗?
我无法想象为什么会出现问题,响应将是一个HTML页面,然后我可以嵌入到结果窗格中或类似的?
在C#中,如何设置线程的标识?
例如,如果我已经启动了Thread MyThread,我可以更改MyThread的身份吗?
或者这不可能吗?
令人惊讶的我才能够找到SO关于这个主题的一个先前的问题,我只是想获得社会"信任投票"(或不!)我的做法.
我这样看是这样的:
Debug.Assert
你的处置将是真实的状态的事情.当我们完全控制我们的环境时,例如在验证某些前后条件的方法中,将使用此方法.在以下场景中它有点模糊.请注意,这是一个仅供参考的示例!
假设我们有MyClass类,它有一个公共属性MyMode和一个方法GetSomeValueForCurrentMode()
.将MyClass视为一个打算在库中发布(发布版本)以供其他开发人员使用的版本.
我们希望MyMode可以由此类的外部用户更新.现在,GetSomeValueForCurrentMode()
有以下逻辑:
switch(MyMode)
{
case Mode.ModeA:
return val1;
case Mode.ModeB:
return val2;
default:
//Uh-uh this should never happen
}
Run Code Online (Sandbox Code Playgroud)
我在这里得到的是MyClass的用户将其置于无效状态.那我们该怎么办?
在默认情况下,我们应该Debug.Assert
或throw new InvalidOperationException
(或其他)?
有一句咒语说我们不应该信任我们班级的用户.如果我们选择Debug.Assert并将MyClass构建为发布版本(从而删除Debug Asserts),则该类的用户将无法获得他们将其置于无效状态的有用信息.但这与其他咒语相反,后者只表示在完全无法控制的事情发生时抛出异常.
我发现我围绕着这个问题 - 其中一个编程辩论似乎没有明确的'正确'答案.那么让我们投票吧!
编辑:我在相关的SO问题(使用断言或例外的合同设计?)中注意到了这个响应:
经验法则是,在尝试捕获自己的错误时应使用断言,在尝试捕获其他人的错误时应使用异常.换句话说,您应该使用异常来检查公共API函数的前提条件,以及何时获得系统外部的任何数据.您应该将断言用于系统内部的函数或数据.
对我而言,这是有道理的,并且可以与下面概述的'Assert then throw'技术结合使用.
欢迎思考!
我正在尝试使用PredicateBuilder,如此处所述 - http://www.albahari.com/nutshell/predicatebuilder.aspx
以下代码
var predicate = PredicateBuilder.False<StreetDTO>();
predicate = predicate.Or(p => p.Locality.Contains(criteria.Locality));
predicate = predicate.Or(p => p.Name.Contains(criteria.Name));
predicate = predicate.Or(p => p.Town.Contains(criteria.Town));
List<StreetDTO> streetData = StreetData.Instance();
var streetList = from street in streetData.Where(predicate)
select street;
Run Code Online (Sandbox Code Playgroud)
根据这个例子,据我所知,这应该有效
var newKids = Product.ContainsInDescription ("BlackBerry", "iPhone");
var classics = Product.ContainsInDescription ("Nokia", "Ericsson")
.And (Product.IsSelling());
var query =
from p in Data.Products.Where (newKids.Or (classics))
select p;
Run Code Online (Sandbox Code Playgroud)
但我得到的只是
错误1无法从用法中推断出方法'System.Linq.Enumerable.Where(System.Collections.Generic.IEnumerable,System.Func)'的类型参数.尝试显式指定类型参数.
我正试图在LINQ'在职'获得一些理解,所以如果这是一个简单的问题,请道歉.
我是Repository Pattern的新手,在网上做了很多阅读之后,我对正在发生的事情有了大致的了解,但似乎存在想法冲突.
一个是IRepository应该返回的内容.
我想处理ONLY Pocos所以我会为每个聚合根提供一个IRepository实现,如下所示:
public class OrangeRepository: IOrangeRepository
{
public Orange GetOrange(IOrangeCriteria criteria);
}
Run Code Online (Sandbox Code Playgroud)
其中IOrangeCriteria采用了许多特定于查找Orange的参数.
我的另一件事是一些数据后端 - 这就是我首先进入这种模式的原因.我想我会为每个实现一个实现,例如
OrangeRepositoryOracle,OrangeRepositorySQL,OrangeRepositoryMock等
我想保持它开放,以便我可以使用EF或NHibernate - 再次,如果我的IOrangeRepository处理POCO然后我会通过实现OrangeRepositoryNHibernate等将其封装在Repository本身中.
我在正确的路线上吗?
谢谢
编辑:感谢您的反馈,我没有其他任何人在此刻反弹这些想法,所以感谢!
.net ×4
c# ×3
ajax ×1
assertions ×1
coding-style ×1
exception ×1
frame ×1
html ×1
https ×1
iframe ×1
iidentity ×1
inheritance ×1
jquery ×1
linq ×1
oop ×1