CFRelease没有检查NULL的原因吗?当[nil release]时,这不是不可接受的; 自由(NULL); 删除NULL; 一切都很好吗?
我有一个类,其中包含SEL类型的实例变量,它是对选择器的引用.在encodeWithCoder/initWithCoder里面,我该如何编码/解码这种类型的变量?
InkScape用户,您能否推荐Inkscape进行网站模板开发.我必须学习一个网站模板工具,创建布局和导出切片,我的一个朋友建议我看到他工作的烟花,即为什么我知道切片/ css,而网络说lnkscape应该没问题,没有详细说明评论.
有人,你知道用它来模板创建/开发.这个工具可以有不错的外观布局,然后我可以导出切片.
我正在使用MySQL命令行实用程序,可以在数据库中导航.现在我需要查看用户帐户列表.我怎样才能做到这一点?
我正在使用MySQL版本5.4.1.
最好通过一个例子来解释这个问题:
在Java中,对于JPA EntityManager,我可以执行以下操作(Account是我的Entity类):
Account result = manager.find(Account.class, primaryKey);
Run Code Online (Sandbox Code Playgroud)
在Scala中,我天真的尝试是:
val result = manager.find(Account.class, primaryKey)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试Account.class在Scala中使用时,似乎不喜欢这个.如何在Scala中为Account类指定java.lang.Class对象?
我正在使用SELECT current_query FROM pg_stat_activity;查看当前正在执行的查询,但我注意到该查询被截断.是否有任何解决方法或任何其他方式来查看当前正在执行的查询?
很多时候我听说F#不适合特定的任务,比如UI."使用正确的工具"是一个常见的短语.
除了缺少WinForms/WPF/ORM设计器等工具之外,我不确定F#究竟缺少什么 - 老实说!然而,特别是在UI方面,我被告知C#做得更好.那么,在强制使用F#时,F#的实际差异和遗漏是什么?
这是我提出的列表:
大量缺少工具支持
F#仍然是测试版
你的开发人员不知道F#
Mutables需要"可变"或需要ref,ref需要!解除引用
Mutables赋值< - 和ref使用:=(它们都是1个字符而不仅仅是=)
val需要DefaultValueAttribute来获取默认值
F#不会发出隐式接口
受保护的成员更难以处理
没有自动属性
抽象类上实现的虚拟成员需要两个定义
引用到LINQ-Expression-Trees会产生与C#/ VB略有不同的树(对于期望以特定格式表达其表达式的API而言很烦人)
没有stackalloc
F#没有?:条件运算符
F#中的指针可能被认为更麻烦
代表/事件有可能会被认为是比较烦琐(我认为他们是更容易,但至少它们是不同的)
没有自动类型转换(比如int to float或者隐式转换)
Nullable没有特殊的语法支持(C#的?类型注释和??运算符,以及在nullables上使用运算符.)
没有自动向上扩展到普通基类或装箱(例如:让x:obj =如果为真,那么其他为"hi"//这不会是类型检查)
没有警告就不能丢弃值("忽略"以解决它)
没有C风格的语法:)
问题:哪些是编写命令式或OO代码的障碍?为什么(简短的例子)?我错过了哪些?什么是最好的解决方法,为什么他们还不够?
请注意,我不是在谈论编写所谓的惯用F#,我当然不是在谈论函数式编程.我更感兴趣的是"如果我强迫自己在F#中编写UI或命令式/ OO代码,使用F#OO /命令式功能和类类型,会有什么最大的伤害?"
奖金 如果您不了解F#但使用C#或VB.NET并认为它是某种情况下更好的工具,请指出您觉得有吸引力的特定语言功能和语法.
是否有一种简单的方法可以在buildout配置中转义用于变量替换的魔术字符,这样就可以保留字符串.换句话说,我说的地方:
[part]
attribute = ${variable}
Run Code Online (Sandbox Code Playgroud)
我实际上并不希望它扩展$ {variable},而是将其保留为文字值.
实际上,我遇到的具体问题不是在buildout配置文件本身,而是在由配方'collective.recipe.template'处理的模板文件中.这使用配置文件中使用的buildout中的相同变量替换引擎.问题是我想用作模板的文件已经将'$ {variable}'语法与最终使用该文件的应用程序配置系统结合使用.
我找到解决问题的唯一方法是使用类似的东西:
[server-xml]
recipe = collective.recipe.template
input = templates/server.xml.in
output = ${product:build-directory}/conf/server.xml
dollar = $
Run Code Online (Sandbox Code Playgroud)
在模板输入文件中,然后有:
${dollar}{variable}
Run Code Online (Sandbox Code Playgroud)
代替:
${variable}
Run Code Online (Sandbox Code Playgroud)
它已经有了.
这样做是因为使用模板对该部分查找'dollar'属性并将其替换为'$'.
而不是必须这样做,有点希望人们可以这样做:
\${variable}
Run Code Online (Sandbox Code Playgroud)
或者甚至是:
$${variable}
Run Code Online (Sandbox Code Playgroud)
并且消除了必须具有虚拟属性以欺骗它做我想要的事情的需要.
查看buildout的源代码,它匹配变量替换的方式似乎不提供转义机制.
如果确实没有办法,那么也许有人知道可以进行变量扩展的另一个构建模板配方,但是它提供了一种表示变量的任何方式的转义机制,这样可以避免可能存在冲突的问题.模板系统扩展机制和模板文件中的文字数据.
也许这是一个愚蠢的问题,但对于我的生活,我找不到办法做到这一点.
如何使用C#在Microsoft Visual Studio(2008)中向表单中的控件添加事件处理程序?
我可以手动完成,但打开Form的Designer.cs文件,但我无法通过界面找到方法.在MSVC 6中,使用C++和MFC,您可以右键单击或执行其他操作,并查找该控件的所有可能事件的列表.然后你选择它,它会弹出一个窗口,让你创建一个与该事件相关联的方法.在VB中它更容易,您可以在代码中执行它并且它列出了方法下拉列表中的所有事件.
但是,我在2008年用C#找不到任何类似的东西.Intellisense有助于填写正确的方法信息.但是,它总是在Designer.cs文件中创建方法,而不是它应该在的部分类的另一半.
谢谢.
这是在C#中.如果我在DataGridView中使用DataGridViewRow.Selected = true选择一行,则该行选择正常,但"列标题"(灰色最左边的列)中的箭头不会跟随.我该怎么设置?
另一个问题:如果我在设计器中将列格式设置为"居中",则列标题仍然保持对齐.如何将列标题设置为居中?
谢谢,Brian