我刚刚注意到我在ASP.NET应用程序中重复了很多C#代码,所以想要创建一个通用方法.我有一系列这样的私有方法:
private void PopulateMyRepeatedControl()
{
DBUtil DB = new DBUtil();
DataTable symbols = GetSelectedSymbols();
DataTable tradeGrades = GetSelectedTradeGrades();
DataTable executionGrades = GetSelectedExecutionGrades();
chtMyRepeatedChart.DataSource = DB.MyRepeatedCall (
int.Parse(txtStartBalance.Text),
int.Parse(ddlTradeTypes.SelectedValue),
ddlRepeatedTrades.SelectedValue,
radSide.SelectedValue,
ddlTradeSetups.SelectedValue,
symbols,
ddlChartTimeFrames.SelectedValue,
int.Parse(ddlHours.SelectedValue),
int.Parse(ddlYears.SelectedValue),
int.Parse(ddlMonths.SelectedValue),
int.Parse(ddlDays.SelectedValue),
int.Parse(ddlNumSCs.SelectedValue),
txtDateFrom.Text,
txtDateTo.Text,
tradeGrades,
executionGrades,
int.Parse(txtMinProfitPips.Text),
int.Parse(txtMaxProfitPips.Text));
chtMyRepeatedChart.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
所以,我想替换DB.MyRepeatedCall,chtMyRepeatedChart并将它们作为参数传递给泛型函数.那可能吗?我的表单上有很多图表,它们使用相同数量的参数.
谢谢
更新 根据Frederik的解决方案,我做到了这一点:
private delegate IEnumerable<DataTable> GetDataSource(
int TradeType,
string RepeatedTrades,
string Side,
string TradeSetup,
DataTable symbols,
string ChartTimeFrame,
int Hour,
int Year,
int Month,
int Day,
int NumSCs, …Run Code Online (Sandbox Code Playgroud) AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
AlertDialog alert = builder.create();
Run Code Online (Sandbox Code Playgroud)
我使用上面的代码来显示警报对话框.默认情况下,它以宽度填充屏幕,高度填充wrap_content.
如何控制默认警报对话框的宽度和高度?
我试过了:
alert.getWindow().setLayout(100,100); // It didn't work.
Run Code Online (Sandbox Code Playgroud)
如何在警报窗口中获取布局参数并手动设置宽度和高度?
我有两个具有root访问权限的专用服务器.两者都在运行Linux.我想将数据库从Server1导入Server2.我已经在Server2上创建了一个空数据库.我想知道Linux命令,我可以直接导入数据库吗?有这样的功能吗?我可以使用mysqldump吗?我想避免首先在server1上进行数据库备份,然后将该文件移动到server2,然后导入该文件.可以使用某些命令直接导入吗?
谢谢
我看到GC输出如下:
2010-12-10T16:00:44.942+0800: 1443.562: [GC 1443.562: [ParNew: 201856K->17318K(201856K), 0.0352970 secs] 2113334K->1949037K(4416748K) icms_dc=0 , 0.0354310 secs] [Times: user=0.12 sys=0.00, real=0.04 secs]
2010-12-10T16:00:46.207+0800: 1444.827: [GC 1444.827: [ParNew: 196774K->22400K(201856K), 0.0119290 secs] 2128493K->1954446K(4416748K) icms_dc=0 , 0.0120560 secs] [Times: user=0.13 sys=0.00, real=0.02 secs]
2010-12-10T16:00:47.562+0800: 1446.182: [GC 1446.182: [ParNew: 201856K->22400K(201856K), 0.0714350 secs] 2133902K->1982695K(4416748K) icms_dc=0 , 0.0715720 secs] [Times: user=0.23 sys=0.01, real=0.07 secs]
2010-12-10T16:00:48.545+0800: 1447.165: [GC 1447.165: [ParNew: 201856K->22400K(201856K), 0.1457230 secs] 2162151K->2008418K(4416748K) icms_dc=0 , 0.1458710 secs] [Times: user=0.71 sys=0.05, real=0.15 secs]
Run Code Online (Sandbox Code Playgroud)
我想知道ParNew GC是否会停止所有线程.谢谢.
异常处理是从崩溃中保存应用程序的最有用的机制.甚至我们大多数人都遵循异常处理机制.即使我看到许多仍然得到例外.我们是否应该以应有的方式处理异常?我的问题是,处理任何异常的最佳方法是什么?
我想清楚几点.当我说处理异常时,这不仅意味着捕获适当的异常消息并显示或记录它.相反,它假设处理异常的纠正措施.
让我们考虑这段代码:
try {
someMethod1();
} catch (MyException e) {
System.out.println(e.getMessage());
} catch (YourException e) {
System.out.println(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"MyException"和"YourException"可能无法捕获所有类型的Exception.但是,当然我们可以使用"java.lang.Exception".我们如何识别正确的异常类型?以及如何处理该异常?特别是在使用外部库时.
更多细节根据要求.
谢谢
如何对在HTML画布上绘制的Javascript进行单元测试?应检查画布上的绘图.
最近关于使用require与::的问题引发了关于在R中编程时使用哪种编程风格的问题,以及它们的优点/缺点.浏览源代码或在网上浏览,您会看到许多不同的样式显示.
我的代码中的主要趋势:
重度矢量化我使用索引(和嵌套索引)玩了很多,这有时会产生相当模糊的代码,但通常比其他解决方案快得多.例如:x[x < 5] <- 0而不是x <- ifelse(x < 5, x, 0)
我倾向于嵌套函数以避免使用我需要清理的临时对象来重载内存.特别是对于操纵大型数据集的函数,这可能是一个真正的负担.例如:y <- cbind(x,as.numeric(factor(x)))而不是y <- as.numeric(factor(x)) ; z <- cbind(x,y)
我编写了很多自定义函数,即使我只在例如一次使用代码.一个sapply.我相信它可以让它更容易阅读,而不会产生可以保持躺着的物体.
我不惜一切代价避免循环,因为我认为矢量化更清洁(更快)
然而,我注意到对此的看法不同,有些人倾向于背弃他们所谓的"Perl"编程方式(甚至是"Lisp",所有这些括号都在我的代码中飞来飞去.我不知道虽然走得那么远.
您认为R中的良好编码实践是什么?
您的编程风格是什么,您如何看待它的优缺点?
该NSUserDefaultsAPI文档具有boolForKey:被这样描述消息-
boolForKey:
Run Code Online (Sandbox Code Playgroud)
返回与指定键关联的布尔值.
- (BOOL)boolForKey:(NSString *)defaultName
Run Code Online (Sandbox Code Playgroud)
返回值如果布尔值与用户默认值中的defaultName相关联,则返回该值.否则,返回NO.
假设a [[NSUserDefaults standardUserDefaults] boolForKey:@"some_Key"]返回NO,则可能是因为密钥不存在或密钥存在且boolean值为NO.我们如何区分?截至目前,我只能避免首先陷入这种情况.
关于构成有效语言环境名称的内容,该标准几乎没有提及; 仅传递无效的区域设置名称导致std::runtime_error.哪些语言环境名称可用于常见的Windows编译器,如MSVC,MinGW和ICC?
目前,我有一个Windows EXE应用程序,有几个加载的DLL.DLL需要通过PostMessage和与我的Windows应用程序通信SendMessage.
Windows EXE应用程序+ DLL都在一个进程中.
该消息应该是EXE和DLL之间的私有.
我想知道,我应该使用
- WM_USER based message
- WM_APP based message
- RegisterWindowMessage
Run Code Online (Sandbox Code Playgroud)
为什么?
如果有一个外部进程(另一个exe),尝试我的Windows应用程序的FindWindow,并发送具有相同ID的消息会发生什么?
我希望不要回复,因为我只对自己进程中的DLL感兴趣.