我想检查对象(例如someObject)是否可分配(可铸造)到另一种类型的变量(例如SpecifiedType).在Java中,我可以写:
someObject instanceof SpecifiedType
Run Code Online (Sandbox Code Playgroud)
一个相关的问题是查找对象的运行时类型是否等于另一种类型.在Java中,我可以写:
someObject.getClass().equals(SpecifiedType.class)
Run Code Online (Sandbox Code Playgroud)
如何在Objective-C中完成?
FxCop有一条规则(CA1726),用于检查首选术语.这会查找"Dont"之类的单词,并告诉您用更好的单词替换它们,例如"Do not".一般情况下这很好,但它反对的术语之一是"Flag".在我们公司,业务涉及Flags意味着旗杆末端的那些布料.每次抑制这个规则都变得很痛苦.有没有人知道如何让这条规则适用于除"Flag"之外的所有事情?
注意:我知道我可以完全关闭规则,但我不想这样做.我只想关掉部分规则.
我有一个带有两个视图的NavigationBar应用程序:父视图和子视图.在子视图中,我在右下角添加了一个按钮,如下所示:
- (void)viewDidLoad {
UIBarButtonItem *tempButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"lock-unlocked.png"] style:UIBarButtonItemStylePlain target:self action:@selector(lockScreen)];
self.navigationItem.rightBarButtonItem = tempButton;
[tempButton release];
}
Run Code Online (Sandbox Code Playgroud)
单击该按钮时,我想更改此rightBarButtonItem的图像并禁用leftBarButtonItem(由控制器自动添加).基本上有两个状态的按钮,锁定和解锁.
问题1:我能找到如何更改图像的唯一方法是使用新图像创建新的UIButtonItem并将rightBarButtonItem替换为新图像.但我想知道是否有办法在不创建新的UIBarButtonItem的情况下更改图像.如果我继续创建新的UIBarButtonItem,我是否会创建内存泄漏?
问题2:如何获取self.navigationItem.leftBarButtonItem并禁用/启用它?我没有手动创建它,它是由控制器自动创建的.我没有在UIBarButtonItem上看到任何方法/属性来启用/禁用用户与它的交互.
我在从表单POST收到LINQ实体后尝试将它附加到数据上下文中.但是,我得到的只是以下异常:
An entity can only be attached as modified without original state if it declares a version member or does not have an update check policy.
Run Code Online (Sandbox Code Playgroud)
我也试过附加原始行,如下所示:
dataContext.People.Attach(person, originalPerson);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我得到以下异常:
Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)
这是我的控制器中的代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, Person person) {
var prevPerson = dataContext.People.Single(p => p.ID == id);
dataContext.People.Attach(person, prevPerson);
dataContext.SubmitChanges();
return Redirect("~/People/Index");
}
Run Code Online (Sandbox Code Playgroud)
关于我在这里做错了什么的想法?如果需要,我可以发布实体代码.
当我6-7年前第一次学习C++时,我学到的基本上是"C with Classes".std::vector绝对是一个高级话题,如果你真的想要,你可以学到一些东西.当然没有人告诉我可以利用析构函数来帮助管理记忆.今天,我看到的每个地方都看到RAII和SFINAE,STL和Boost以及现代C++.即使是刚刚开始使用该语言的人,也几乎从第1天开始就教授这些概念.
我的问题是,这只是因为我只看到"最好的",即SO上的问题,以及其他倾向于吸引初学者(gamedev.net)的编程网站,或者这实际上代表了C++社区作为一个整体?
现代C++真的成为默认的吗?专家们写的不是一些奇特的东西,而是变成"C++的方式"吗?或者我只是无法看到仍然学习"C with classes"并编写自己的动态数组而不是使用的数千人std::vector,并通过从他们的顶级代码手动调用new/delete来进行内存管理?
尽管我想要相信它,但如果整个C++社区在几年内发展得如此之多,那似乎令人难以置信.您的经历和印象是什么?
(免责声明:不熟悉C++的人可能会错误地解释标题,因为询问C++是否比其他语言更受欢迎.这不是我的问题."现代C++"是C++中方言或编程风格的通用名称,以该书命名" 现代C++设计:通用编程和设计模式应用 ",我只对这与"旧C++"感兴趣.所以不需要告诉我C++的时间已经过去,我们都应该使用Python;))
它是一个.vbproj,看起来像这样
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>15a7ee82-9020-4fda-a7fb-85a61664692d</ProjectGuid>
Run Code Online (Sandbox Code Playgroud)
我想得到的只是ProjectGuid,但是当命名空间存在时它不起作用......
Dim xmlDoc As New XmlDocument()
Dim filePath As String = Path.Combine(mDirectory, name + "\" + name + ".vbproj")
xmlDoc.Load(filePath)
Dim value As Object = xmlDoc.SelectNodes("/Project/PropertyGroup/ProjectGuid")
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?
我刚刚得到Java5项目有这个错误,我尝试使用Java5和Java6,但它仍然存在.它以某种方式工作(因为它是在svn),我怎么能绕过编译器错误?
我有一个带有几个派生类的ABC.要创建这些派生类,我使用工厂模式:
.h文件:
class derivedFactory
{
public:
base* createInstance();
};
Run Code Online (Sandbox Code Playgroud)
.cpp文件:
base* derivedFactory::createInstance()
{
return new derived();
}
Run Code Online (Sandbox Code Playgroud)
只有拥有一个免费功能,这有什么好处:
.h文件:
base* derivedFactoryFunction();
Run Code Online (Sandbox Code Playgroud)
.cpp文件:
base* derivedFactoryFunction()
{
return new derived();
}
Run Code Online (Sandbox Code Playgroud)
另外:我使用抽象工厂模式进行依赖注入.我可能会使用基于ABC的继承层次结构:
class objectCreator
{
public:
base* create() = 0;
};
Run Code Online (Sandbox Code Playgroud)
在函数指针上使用它有什么好处:
boost::function<base* ()> factory_ptr;
Run Code Online (Sandbox Code Playgroud)
使用boost :: bind/lambda这似乎使我的代码更易于组合,如果我希望我可以在其中包装一个真正的工厂对象.我可以看到可能会有轻微的性能下降,但这很令人担心,因为它只在启动时调用.
如果有人能帮助我,我将非常感激.我正在学习C++,而且我一直在努力解决这个问题.
基本上,VS C++ Express没有附带.DEF模板.我还有什么方法可以创建这个文件?
我可以在VS中设置一个参数,以便链接器可以动态创建吗?
谢谢!!!
我正在寻找一个简单的java lib/src来突出显示两个字符串之间的区别,区分大小写.一个html输出会很棒,但我很乐意得到差异的索引,如:
diff("abcd","aacd")
> [2,2]
diff("maniac", "brainiac")
> ["man",brain"] or [0,3] or something like that
Run Code Online (Sandbox Code Playgroud)
由于输入符合严格的约定,因此想法是在摆动程序中突出错别字或类似错误.
c++ ×3
java ×2
algorithm ×1
asp.net-mvc ×1
c# ×1
casting ×1
cocoa-touch ×1
diff ×1
dll ×1
downcast ×1
equality ×1
factory ×1
fxcop ×1
iphone ×1
linq-to-sql ×1
objective-c ×1
string ×1
suppression ×1
swing ×1
types ×1
vb.net ×1
xml ×1
xpath ×1