我在尝试学习Castle Windsor的Fluent界面时写了以下简单的测试:
using NUnit.Framework;
using Castle.Windsor;
using System.Collections;
using Castle.MicroKernel.Registration;
namespace WindsorSample {
public class MyComponent : IMyComponent {
public MyComponent(int start_at) {
this.Value = start_at;
}
public int Value { get; private set; }
}
public interface IMyComponent {
int Value { get; }
}
[TestFixture]
public class ConcreteImplFixture {
[Test]
public void ResolvingConcreteImplShouldInitialiseValue() {
IWindsorContainer container = new WindsorContainer();
container.Register(Component.For<IMyComponent>().ImplementedBy<MyComponent>().Parameters(Parameter.ForKey("start_at").Eq("1")));
IMyComponent resolvedComp = container.Resolve<IMyComponent>();
Assert.AreEqual(resolvedComp.Value, 1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我通过TestDriven.NET执行测试时,我收到以下错误:
System.TypeLoadException : Could not load type 'Castle.MicroKernel.Registration.IRegistration' from …Run Code Online (Sandbox Code Playgroud) 我有一个自定义用户控件,上面有一个文本框,我想在自定义控件之外公开基线(文本框中的文本)snapline.我知道您创建了一个设计器(继承自ControlDesigner)并覆盖SnapLines以访问snapline,但我想知道如何获取我自定义用户控件公开的控件的文本基线.
.net user-controls design-time windows-forms-designer winforms
我有四面旗帜
Current = 0x1
Past = 0x2
Future = 0x4
All = 0x7
Run Code Online (Sandbox Code Playgroud)
假设我收到了两个标志Past和Future(setFlags(PAST | FUTURE)).我怎么知道它Past是否在里面?同样,我怎么能告诉它Current不在其中?这样我就不必测试每种可能的组合.
很久以前我记得我认为Forth编程语言非常酷.多年来我真的没有听说过任何关于它的事情.Forth还在使用吗?如果是这样,它用于什么类型的应用程序?
使用VS2008和R#5我遇到了一个奇怪的情况,在aspx页面上我不断得到
Cannot resolve symbol 'symbolname'
Run Code Online (Sandbox Code Playgroud)
但代码编译并运行良好.虽然有一个解决方案是很好的,我只是想弄清楚我是否会失去理智.
CodeFile指令和Inherits指令都可以.如果我编译应用程序或只是让devenv坐了一会儿它就会消失,但是一旦我保存了aspx [通过ctrl + s] R#突然遇到了Inherits属性的问题并且翻转了每个方法页面(OnClick等).
// Anonymized of course but otherwise intact
<%@ Page AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="TestPage" Language="C#" MasterPageFile="~/MasterPage.master" Title="Test Page Title" %>
Run Code Online (Sandbox Code Playgroud)
这主要是一种不满,因为代码编译它并不能阻止我做我需要的事情.
我会向JetBrains网站发布一个错误报告,但首先我想知道我并不孤单.它可能是我的机器.也许当我在几周内推出VS2010时,它会消失吗?
我正在通过UDP读取一些MPEG传输流协议,它有一些时髦的位域(例如长度为13).我正在使用"struct"库来进行广泛的解包,但有一种简单的方法可以说"抓住下一个13位"而不必手动调整位操作吗?我想要像C做位字段的方式(不必回复到C).
建议?
我的rails应用程序在Ubuntu服务器计算机上运行.
我需要创建临时文件,以便将它们"提供"给第二个独立的应用程序(如果需要此信息,我将使用rake任务)
我的问题是:在rails应用程序上创建临时字段的最佳方法是什么?
因为我在ubuntu,我可以创建它们/tmp/whatever,但什么只能在linux中工作.
我希望我的应用程序尽可能便携 - 因此如果需要,它可以安装在Windows机器和Mac上.
有任何想法吗?
非常感谢.
我有一个aspx,在正文的onload事件期间运行以下javascript函数.
<body onload="startClock();">
Run Code Online (Sandbox Code Playgroud)
但是,我将aspx设置为使用母版页,因此aspx中不存在body标签.如何在页面被命中时注册startClock函数并仍然使用主页?
当然,不是在可读性方面,因为您总是可以将单独的方法安排到单独的行中.相反,无论出于何种原因,将过多的方法链接在一起是危险的吗?我主要使用方法链来节省宣布单个一用变量的空间,传统上使用返回方法而不是修改调用者的方法.除了字符串方法,那些我有点无情地链.无论如何,我有时担心在一行中使用异常长的方法链的影响.
假设我需要根据某人的用户名更新一个项目的值.不幸的是,检索正确用户的最短方法看起来如下所示.
SPWeb web = GetWorkflowWeb();
SPList list2 = web.Lists["Wars"];
SPListItem item2 = list2.GetItemById(3);
SPListItem item3 = item2.GetItemFromLookup("Armies", "Allied Army");
SPUser user2 = item2.GetSPUser("Commander");
SPUser user3 = user2.GetAssociate("Spouse");
string username2 = user3.Name;
item1["Contact"] = username2;
Run Code Online (Sandbox Code Playgroud)
一个2或3的所有东西只持续一次通话,所以我可能会将其压缩为以下(这也让我摆脱了一个多余的1):
SPWeb web = GetWorkflowWeb();
item["Contact"] = web.Lists["Armies"]
.GetItemById(3)
.GetItemFromLookup("Armies", "Allied Army")
.GetSPUser("Commander")
.GetAssociate("Spouse")
.Name;
Run Code Online (Sandbox Code Playgroud)
不可否认,当它在一条线上并且当你有int.Parse(ddlArmy.SelectedValue.CutBefore(";#", false))而不是时,它看起来要长得多3.然而,这是这些链的平均长度之一,我可以很容易地预见到一些特别长的计数.排除可读性,对于这10个以上的方法链,我应该担心什么吗?或者使用非常长的方法链是否有害?
.net ×3
asp.net ×3
c# ×3
bit-fields ×2
bits ×1
design-time ×1
forth ×1
iis-7 ×1
javascript ×1
master-pages ×1
onload-event ×1
python ×1
resharper ×1
ubuntu ×1
udp ×1
winforms ×1