我有一个在一个类中生成的对象
public class CreatingClass
{
public T CreateObject<T>(Dictionary<string, object> parameters) where T : IMyInterface, new()
{
....
}
public void DestroyObject(IMyInterface objectToDestroy)
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
我从客户端类调用此函数,然后有时需要通过创建类通过我的应用程序使其无效.
我可以做以下事情
public class ClientClass
{
MyObject obj;
CreatingClass creatingClass = new CreatingClass();
private void AFunctionToCreateMyClass()
{
obj = creatingClass.CreateObject<MyClass>(parameters);
}
private void AFunctionToDeleteMyObject()
{
CreatingClass.DestroyObject(obj);
Assert.IsNull(obj);//Doesn't fail
}
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试过objectToDestroy = null,但不认为它会起作用(而且它没有)
如何从html表单中的下拉框元素中获取所选项目的文本?(使用python)当我使用鼠标从下拉框中选择一个项目时,如何将值存储到变量?(即不使用提交按钮)
这是我在app引擎中执行的应用程序,它只支持Python.
"虚拟"继承的含义是什么?
我看到以下代码,并且virtual在以下上下文中不理解关键字的含义:
class A {};
class B : public virtual A;
Run Code Online (Sandbox Code Playgroud) 我有以下代码块,我试图在优化部分进行优化
DataSet dsLastWeighing = null;
DataSet ds = null;
DataSet dsWeight = null;
string strQuery = string.Empty;
string strWhere = string.Empty;
Database db = null;
#region Original Code Block
try
{
db = DatabaseFactory.CreateDatabase();
strWhere = "WHERE SESSION_ID = '"+pSessionID+"'";
strQuery = SQ.BusinessLogic.SQLQueryFactory.GetPatientLastWeighing("DeleteWeightRecent",db.ToString(),pFacilityID,pSessionID,strWhere,0,DateTime.Now.ToUniversalTime(),0,"");
db.ExecuteNonQuery(System.Data.CommandType.Text, strQuery);
strWhere = "WHERE LAB_ID = 0";
strQuery = SQ.BusinessLogic.SQLQueryFactory.GetPatientLastWeighing("InsertWeightRecent",db.ToString(),pFacilityID,pSessionID,strWhere,0,DateTime.Now.ToUniversalTime(),0,"");
db.ExecuteNonQuery(System.Data.CommandType.Text, strQuery);
strWhere = strWhere = "WHERE SESSION_ID = '"+pSessionID+"'";
strQuery = SQ.BusinessLogic.SQLQueryFactory.GetPatientLastWeighing("GetPatientID",db.ToString(),pFacilityID,pSessionID,strWhere,0,DateTime.Now.ToUniversalTime(),0,"");
ds = (DataSet) db.ExecuteDataSet(System.Data.CommandType.Text, strQuery);
foreach(DataRow dr in ds.Tables[0].Rows)
{
if (db.ToString() == …Run Code Online (Sandbox Code Playgroud) 我正在尝试直接从HTTPS URL解析XML,如下所示:
NSString *const URL = @"https://some/HTTPS/url";
NSURL* url = [NSURL URLWithString:URL];
NSXMLParser* parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
[parser parse];
Run Code Online (Sandbox Code Playgroud)
我有解析器的以下委托方法:
- (void) parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict
{
NSLog(@"Started parsing %@", elementName);
}
Run Code Online (Sandbox Code Playgroud)
这似乎适用于HTTP URL,但没有显示HTTPS URL的结果.
我怎么能解决这个问题?
我想测试一个类有一个EventHandler分配给一个事件.基本上我正在使用我的IoC容器为我连接EventHandlers,我想检查它们是否正确分配.所以,我正在测试我的IoC配置.
[Test]
public void create_person_event_handler_is_hooked_up_by_windsor()
{
IChangePersonService changePersonService = IoC.Resolve<IChangePersonService>();
// check that changePersonService.PersonCreated has a handler attached
}
Run Code Online (Sandbox Code Playgroud)
我不确定如何测试changePersonService.PersonCreated有任何附加到它的东西.
有任何想法吗?
谢谢.
显然,编码日语电子邮件有点挑战性,我正在慢慢发现自己.如果有任何专家(即使是那些经验有限的专家),我可以请一些指导如何做,如何测试以及如何验证它?
请记住,我从未踏足日本附近的任何地方,只是我正在开发的产品在其他地方使用.
到目前为止,我所知道的是:
- 日本的电子邮件应该用ISO-2022-JP,日本JIS代码页50220或可能的SHIFT_JIS代码页932
编码 - 电子邮件传输编码应该设置为Base64用于纯文本,7Bit用于Html
- 电子邮件主题应单独编码,以"=?ISO-2022-JP?B?"开头.(不知道这是什么意思).我试过用这个主题编码
"=?ISO-2022-JP?B?" + Convert.ToBase64String(Encoding.Unicode.GetBytes(subject))
Run Code Online (Sandbox Code Playgroud)
它基本上给出了预期的编码字符串,但它没有在电子邮件程序中显示为任何日文文本
- 我已在Outlook 2003,Outlook Express和GMail中测试过
任何帮助将不胜感激
好的,所以发布一个简短的更新,由于这两个有用的答案,我已经设法得到正确的格式和编码.现在,Outlook提供了类似于正确主题的东西:
=?iso-2022-jp?B?6 Japanese test ??????????????? 6??????=
但是,Outlook Express中完全相同的电子邮件给出了这样的主题:
=?iso-2022-jp?B?6 Japanese test ???????????????????????? 6??????????=
此外,在Outlook Express的收件箱视图中查看时,电子邮件主题更加奇怪,如下所示:
=?iso-2022-jp?B?6 Japanese test ??????????????? 6???????=
Gmail似乎与Outlook的工作方式类似,看起来是正确的.
我无法理解这一个.
在Visual Studio 2003中,我尝试在预构建事件中设置一个环境变量,然后在编译步骤中使用该变量,但该值似乎不会传播.例如,如果预构建事件包含此内容(直接或在批处理文件中):
set MY_LIB_VERSION=1.0.0
Run Code Online (Sandbox Code Playgroud)
和AdditionalIncludeDirectories有这个:
c:\path\to\library\my_lib_v$(MY_LIB_VERSION)\include
Run Code Online (Sandbox Code Playgroud)
如果my_lib_v1.0.0目录存在,我希望编译工作.但相反,我得到了
c:\path\to\prog\my_prog.c(22) : fatal error C1083: Cannot open include file: 'my_lib.h' Project : warning PRJ0018 : The following environment variables were not found: $(MY_LIB_VERSION)
我推断在预构建事件中设置的环境变量因此没有传播到编译步骤,但我可能会遗漏一些东西.
如何在预构建事件中设置环境变量并在编译步骤中使用它?
(或者,任何其他明智的方法来定义一个库版本并为AdditionalIncludeDirectories和AdditionalLibraryDirectories多次使用它也会这样做.)
更新:我最终以不同的方式解决了我们的问题.我们正在使用Subversion,并svn:externals在被调用的项目源的子目录上设置该属性dependencies,这样项目的签出将另外检出<svn_path>\libraries\my_lib_v1.0.0并dependencies\my_lib在工作副本中调用它.然后项目设置可以参考dependencies\my_lib\include等.升级到版本1.0.1 my_lib只是编辑svn:externals属性的问题 - 代码和项目设置不需要更改.
windows visual-studio-2003 compilation environment-variables visual-studio
c# ×4
.net ×2
c++ ×1
cocoa ×1
cocoa-touch ×1
codeigniter ×1
collections ×1
compilation ×1
email ×1
encoding ×1
events ×1
generics ×1
html ×1
inheritance ×1
javascript ×1
list ×1
login ×1
null ×1
objective-c ×1
parsing ×1
python ×1
session ×1
unicode ×1
unit-testing ×1
virtual ×1
windows ×1
xml ×1