我正在shell(c:\ windows\system32\cmd.exe)中执行脚本(.cmd).我想要的是当一个命令返回一个错误代码时,.cmd文件结束它的执行,然后cmd.exe也结束它的执行,将错误代码返回给调用它的那个.
我正在使用这样的东西:
C:\...\gacutil.exe /i C:\...\x.dll
if not errorlevel 0 (
echo Error registering C:\...\x.dll
exit %errorlevel%
)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我尝试使用exit/b,但看起来和我一样.任何的想法?
我对LINQ很新,我想知道是否有可能做到以下几点:
我有一组具有多个属性的对象.我想用其中一个属性的值创建一个新数组,所以如果我有这个类:
public class TestClass
{
public string A {get;set;}
public string B {get;set;}
public string C {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的:
public class ToDo
{
private TestClass[] _array;
private string[] _cProperties;
_cProperties = queryToExtractTheValuesOfCfromTheArray_array;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
今天我们意识到有些测试会抛出异常,但所有测试都会"通过".实际上,异常文本以绿色显示.
这有意义吗?
有没有办法让测试失败,如果未处理异常(我知道大部分时间都会发生)?
截图:

测试方法:
[TestMethod]
public void CommunicationCore_CommunicationController_ConnectRequestWellProcessed()
{
// Arrange
IUnityContainer container = new UnityContainer();
ICommonInitializer initializer = new CommonInitializer(container);
initializer.Initialize(); // register all types
DriveConnection connectionSettings = CreateFakeConnetionSettings(1);
Transaction transaction = null;
ICommunicationController controller = container.Resolve<ICommunicationController>();
object locker = new object();
// Act
controller.Connect(
connectionSettings,
result =>
{
transaction = result;
lock (locker)
{
Monitor.Pulse(locker);
}
});
// asyncronous communication wait for the process of the message
lock (locker)
{
Monitor.Wait(locker, 10000);
}
// Assert
bool connectSuccessfully …Run Code Online (Sandbox Code Playgroud) 对于应用程序,我需要检查Crystal Reports运行时库的可用性.我试过的是:
void CheckCrystal()
{
try
{
CrystalDecisions.Windows.Forms.CrystalReportViewer test = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
test.Dispose();
}
catch (System.Exception)
{
PTrace.Error("Some dependences needed to run Crystal Reports are not available.");
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为在调用方法之前调用CheckCrystal的方法中会抛出有关缺少的Crystal依赖项的File.IOException.就像.Net知道在需要它之前需要组装.这是真的?我该如何改变这种行为?
提前致谢.
在一个内存饥渴的应用程序我正在开发我面临OutOfMemoryExceptions.我希望虚拟内存永远不会有这种异常.为什么如果需要更多RAM而不是可用操作系统不使用HD作为RAM?
我有以下继承:
class A
{
void Configure(object param1) {...};
}
class B : A
{
void Configure(object param1) {...}; // The method is not defined in B, it is available from the base class. This is just the desired interface of class B
}
class C : A
{
void Configure(object param1, object param2) {...};
}
Run Code Online (Sandbox Code Playgroud)
我不希望C类具有可见的param1配置,因为在这种情况下它会使对象不完整.
我试过覆盖但覆盖不能改变可见性.
我发现的唯一方法是调用类A方法protected void ConfigureBase(object param1) {...};并使方法B类调用ConfigureBase.
由于我对这个设计并不完全满意,因为它让我重新定义了每个类,因为Configure有一个标准的处理方式吗?
想象一下,我有以下课程:
class ToTest : IToTest
{
public string MethodA()
{
return "Test";
}
public int MethodB()
{
returns a random number;
}
public string MethodC()
{
return this.MethodA + " " + this.MethodB.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
我现在正在测试 MethodC,所以我知道我应该模拟当前实例的 MethodA 和 MethodB,所以我只测试 MethodC 的有效性,对吗?
我正在使用 Rhino 并执行以下操作:
ToTest testedObject = new ToTest();
testedObject.Expect(t => t.MethodA).Returns("AString");
testedObject.Expect(t => t.MethodB).Returns(1324");
Assert.AreEqual("AString 1324", testedObject.MethodC());
Run Code Online (Sandbox Code Playgroud)
但是我得到一个错误,说testedObject 不是Mock。
方法对吗?我该如何进行?
即使我完全知道CA1008警告存在的原因,我也不知道在下列情况下如何避免它.我有一个具有以下含义的Flag枚举:
ValidValue = 0x01
WrittenValue = 0x02
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下,0表示InvalidValueNonWritten而不是None.规则说
除了先前已发布的标记属性枚举之外,请勿禁止此规则发出警告.
在这种情况下,我没有发送枚举,所以如何防止此警告?
编辑:
警告明确说:
警告86 CA1008:Microsoft.Design:在枚举"XXX"中,将"XXX.InvalidValueNonWritten"的名称更改为"无".
编辑2:
枚举的更多状态:
CommandValue = 0x04 // Otherwise it is DataValue
InmediateValue = 0x08 // Otherwise it is Deferred
Run Code Online (Sandbox Code Playgroud) 我们有一个工具可以管理计算机的多个进程,并且在不确定的条件下会不时InvalidOperationException访问MSDN:Process.ExitTime属性。
异常消息说
该对象未启动处理,因此无法确定所请求的信息
这是否意味着我只能获得自己开始的进程的退出时间?那没有记录在任何地方。
我有一个包含几个字符串列表的列表.
我正在寻找一个LINQ查询,它可以返回一个包含所有子列表中存在的所有不同字符串的List.
只用一个查询就可以了吗?
谢谢.
List<string> a = {"a", "b", "c"}
List<string> b = {"c", "d", "e"}
List<List<string>> c = {a, b}
Run Code Online (Sandbox Code Playgroud)
对'c'进行查询后的预期结果:
List<string> result = {"a", "b", "c", "d", "e"}
Run Code Online (Sandbox Code Playgroud) .net ×7
c# ×6
linq ×2
unit-testing ×2
assemblies ×1
batch-file ×1
cmd ×1
enum-flags ×1
enums ×1
exception ×1
fxcop ×1
inheritance ×1
list ×1
loader ×1
memory ×1
mocking ×1
mstest ×1
oop ×1
process ×1
rhino-mocks ×1