Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ds As DataSet
ds = getData()
Dim dt As DataTable = ds.Tables(0)
Dim gridViewData = From r As DataRow In dt.Rows Select r.Item("foo"), r.Item("bar")
GridView1.DataSource = gridViewData
GridView1.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud)
我刚刚编写了前面的代码,并得到以下编译时错误:"只能从没有参数的简单或限定名称推断范围变量名".为什么我会收到此错误?我该如何修复我的代码?
在编写我当前的项目时,我已经为所有对象创建了接口.我认为这被认为是良好的编码实践.
我基本上最终得到了一堆定义非常简单的类的接口.
例如:
public interface IUser
{
int Id { get; }
string DisplayName { get; }
}
Run Code Online (Sandbox Code Playgroud)
我真的没有意识到在这里有这些.我现在另外在几个地方遇到问题,我想做一些事情,比如定义运算符重载,这是我在接口级别无法做到的.
我很想通过我的项目并删除所有这些接口(我会为我的存储库和其他定义更复杂行为的东西保留接口),但是我会有点去删除100行的代码以及随之而来的所有重构.
我想听听其他用户的意见.是否有任何目的来定义基本对象上的接口?将它们放在那里是否有任何伤害,即使它们不是真的有必要?
如何从perl中解析字符串中的负数?我有这段代码:
print 3 - int("-2");
Run Code Online (Sandbox Code Playgroud)
它给了我5,但我需要3.我该怎么做?
我很确定Ruby有这些(__ call ,__ get和__set的等价物),因为否则find_by如何在Rails中工作?也许有人可以举例说明如何定义与find_by相同的方法?
谢谢
我搜索了很多关于ObjC访问器和合成访问器的问题都无济于事.这个问题更像是"帮我解决问题"的问题; 我不期待一个答案,但我宁愿寻找专家来衡量这个论点.
在Cocoa Touch类中,我会写一些像这样的代码(其中soundEffects是一个合成的NSArray属性):
id foo = [self.soundEffects objectAtIndex:1];
Run Code Online (Sandbox Code Playgroud)
一位同事让我解释为什么上述内容比这一行更好:
id foo = [soundEffects objectAtIndex:1];
Run Code Online (Sandbox Code Playgroud)
好吧,功能上,它没有什么不同.
我对前者的论点如下:
self.soundEffects 告诉处理代码的所有其他编码人员,这是一个iVar,而不是本地范围的变量.
如果我们需要,我们可以在soundEffectsgetter访问器中放置自定义逻辑.
没有具体的理由,在Obj-C工作一年后,它"感觉"是正确的做法.
他接受参数#1和#2是有效的,但也给出了对应点:
这不仅仅是代码臃肿吗?
一个类不应该被允许直接与自己的iVars交谈,而不必自己调用方法(getter)吗?
任何接受者?
我有一个自定义布局的对话框,当我按下按钮时我尝试关闭它:
private void showAboutDialog() {
dialog = new Dialog(MainMenu.this);
dialog.setContentView(R.layout.about_dialog);
dialog.setCancelable(true);
dialog.setTitle(R.string.about_title);
dialog.show();
LayoutInflater inflater = (LayoutInflater)
getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.about_dialog,
(ViewGroup) findViewById(R.id.layout_root));
Button closeButton = (Button) layout.findViewById(R.id.about_close_button);
closeButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View view) {
dialog.dismiss();
}
});
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我有XML文档,如:
<rootelement>
<myelement>test1</myelement>
<myelement>test2</myelement>
<myelement type='specific'>test3</myelement>
</rootelement>
Run Code Online (Sandbox Code Playgroud)
我想检索具体的myelement,如果它不存在,那么第一个.所以我写道:
/rootelement/myelement[@type='specific' or position()=1]
Run Code Online (Sandbox Code Playgroud)
该XPath的规范对"或表达"各国:
如果左操作数的计算结果为true,则不评估右操作数
问题是libxml2-2.6.26似乎应用了两个表达式的并集,返回"2节点集"(例如使用xmllint --shell).
它是libxml2还是我做错了什么?
假设一个名为'log'的表,其中有大量记录.
应用程序通常通过简单的SQL检索数据:
SELECT *
FROM log
WHERE logLevel=2 AND (creationData BETWEEN ? AND ?)
Run Code Online (Sandbox Code Playgroud)
logLevel并且creationData有索引,但记录数量使得检索数据需要更长的时间.
我们如何解决这个问题?