我正在测试StoreManager类的功能,该类依赖于DataBaseConfiguration类.
public class StoreManager {
private DataBaseConfiguration dbConfig;
public void Store(string name) {
dbConfig.Store(name);
}
//other methods here
}
Run Code Online (Sandbox Code Playgroud)
StoreManager类存储到数据库,我可以测试此方法是否正常工作的唯一方法是从数据库进行查询.我有另一个班级在生产中这样做..
public class QueryManager {
private DataBaseConfiguration dbConfig;
public string Query(QueryExpression expr) {
//query logic
string name = "somename";
return name;
}}
Run Code Online (Sandbox Code Playgroud)
虽然我只关心测试我的StoreManager类,但它看起来像我需要使用QueryManager类来测试存储值.所以我有一个像这样的基本测试用例......
[TestFixture]
public class StoreManagerTest {
[TestFixtureSetup]
public void Setup() {
DatabaseConfiguration dbConfig = new DatabaseConfiguration(/*test database details*/);
StoreManager sm = new StoreManager(dbConfig);
QueryManager qm = new QueryManager(dbConfig);
}
[Test]
public void TestStore_ValidStore() {
sm.Store("testname");
string queryResult = qm.Query(new …Run Code Online (Sandbox Code Playgroud) 我需要将非托管内存读入托管字节数组.
为此,我有一个对非托管内存的IntPtr引用和一个长度,它表示我感兴趣的非托管内存的大小.
我使用以下代码将其读入托管字节数组.
byte[] pixelDataArray = new byte[pixelDataLength];
for (int i = 0; i < pixelDataLength; i++) {
pixelDataArray[i] = Marshal.ReadByte(pixelData, i);
}
Run Code Online (Sandbox Code Playgroud)
然而,这导致非常差的性能.使用256KB非托管内存调用此方法1000次,需要7秒以上.我认为必须有一种更有效的方法来做到这一点.
我无法使用Marshal.PtrToStructure,因为我不知道需要预先阅读的内存大小.
关于如何改进这个功能的任何想法?
我在Windows 7计算机上运行McAfee VirusScan Enterprise 8.7i.
我正在编写此实用程序来配置McAfee.现在我如何以编程方式关闭McAfee(使用C++或C#)?
我现在能做到的唯一方法是:
从系统托盘中手动打开McAfee Virusshield图标,然后选择"退出".
在SYSTEM帐户下运行命令提示符(使用System internals工具psexec),然后发出命令"sc stop McShield"
我的系统上安装了Windows 7 64位.我有一个关于"C:\ ProgramData\Application Data"文件夹的问题.它提到这里,并在这里说,"应用程序数据"是一个结点指向C:\ ProgramData.所以,我希望以下命令列出C:\ ProgramData文件夹的内容(我的ProgramData文件夹中包含McAfee,Microsoft,Adobe等文件夹..)..
cd/d"c:\ ProgramData\Application Data"
DIR
但是,我没有看到任何列出的内容...但是,如果我要更深入地遍历1个目录并列出内容,那么列出该目录下的所有文件夹...
cd/d"c:\ ProgramData\Application Data\McAfee
DIR
我不明白这种行为.有人会解释吗?
我有一个文本文件,其中包含几行,每行都是逗号分隔的字符串.每行的格式是:
<Name, Value, Bitness, OSType>
Bitness并且OSType是可选的.
例如,文件可以是这样的:
Name1, Value1, X64, Windows7
Name2, Value2, X86, XP
Name3, Value3, X64, XP
Name4, Value3, , Windows7
Name4, Value3, X64 /*Note that no comma follows X64 */
....
....
Run Code Online (Sandbox Code Playgroud)
我想将每一行解析成4个变量并对其执行一些操作.这是我使用的PowerShell脚本..
Get-Content $inputFile | ForEach-Object {
$Line = $_;
$_var = "";
$_val = "";
$_bitness = "";
$_ostype = "";
$envVarArr = $Line.Split(",");
For($i=0; $i -lt $envVarArr.Length; $i++) {
Switch ($i) {
0 {$_var = $envVarArr[$i].Trim();}
1 {$_val = $envVarArr[$i].Trim();}
2 …Run Code Online (Sandbox Code Playgroud) 在Rhino Mocks中,我正在测试Subject类中的一个名为Store的方法.Subject.Store(Member)内部调用IStore.Store(Person).如何检查我在Member上设置的name参数是否与调用IStore.Store(Person)中Person参数中的名称相同.
显然,在结构中实现Equals方法然后调用Arg.Is.Equals将是一个选项.但我无法控制Person或Member结构的源代码.
这是代码片段..
struct Person {
string name;
int age;
char sex;
}
struct Member {
string name;
string address;
string departnemt;
public Member(string name, string address, string departnemt) {
// TODO: Complete member initialization
this.name = name;
this.address = address;
this.departnemt = departnemt;
}
//other methods
}
interface IStore {
void Store(Person p);
//other methods
}
class Subject {
IStore db;
public void Store(Member m) {
//some logic to convert Member to Person
Person p = GetPersonFromMember(m);
db.Store(p); …Run Code Online (Sandbox Code Playgroud) 我想在XML文件中区分Windows XP和Windows 7.以为我会在XML中使用环境变量.
但是,我找不到在Windows中定义的任何系统环境变量来提供此信息.
我看到%OSTYPE%变量,但它仅在Windows 7中可用.它没有在XP中定义.
无论如何我能做到吗?
请注意,我想要一个纯粹依赖于系统环境变量的解决方案.我不想基于执行某些命令来创建新变量,因为我想在XML文件中使用此变量.
在 C# 中检索 (sql) 数据库的已使用大小的最佳方法是什么?我有权访问数据库的连接字符串,并假设我也有数据库的 dbadmin 访问权限。
这个地方建议我使用 Microsoft.SqlServer.Smo.dll,但是我想知道是否可以使用 System.Data 本身中的 Sql* 命名空间来执行此操作?(如 SqlConnection、DbConnection 等)
如果我从命令提示符(c:\ windows\system32\cmd.exe)运行Perl脚本,如何在脚本完成执行后退出命令提示符.
我system("exit 0")在Perl脚本内部尝试但是没有从运行Perl脚本的地方退出cmd提示符shell.
我也在exit;Perl脚本中尝试过命令,但这也不起作用.
c# ×4
windows-7 ×3
unit-testing ×2
.net ×1
cmd ×1
csv ×1
database ×1
exit ×1
marshalling ×1
mcafee ×1
nunit ×1
performance ×1
perl ×1
powershell ×1
programdata ×1
regex ×1
rhino-mocks ×1
windows ×1
windows-xp ×1