iPHone:我们使用MonoTouch,但Obj-C答案还可以.
我的单例域对象需要一段时间来获取所有数据,因此它在内部运行部分线程中的提取.
我需要通知UI域已完成.目前我这样做.有没有更好的办法?在WinForms中,我将调用Application.DoEvents()而不是Thread Sleep.
PlanDomain domain = PlanDomain.Instance ();
while (domain.IsLoadingData)
{
Thread.Sleep (100); //this is the main UI thread
}
TableView.Hidden = false;
TableView.Source = new TableSource (this);
TableView.ReloadData ();
Run Code Online (Sandbox Code Playgroud) 当我定义一个TextViewin时xml,如何添加一个新行?\n好像不行.
<TextView
android:id="@+id/txtTitlevalue"
android:text="Line1: \n-Line2\n-Line3"
android:layout_width="54dip"
android:layout_height="fill_parent"
android:textSize="11px" />
Run Code Online (Sandbox Code Playgroud) 是什么区别Context.startService(intent),并startService(intent)和它无论使用哪一个?
我想维护每个浏览器选项卡的会话状态.
这在ASP.NET中是否容易(甚至可能)?
示例:用户在firefox中按Ctrl-T 5次,并在每个选项卡中访问该站点.我希望每个选项卡在服务器上都有自己的会话状态
我正在为emacs中的C#完成(intellisense)工具.
这个想法是,如果用户键入片段,然后通过特定的击键组合要求完成,则完成工具将使用.NET反射来确定可能的完成.
这样做需要知道正在完成的事物的类型.如果它是一个字符串,那么有一组已知的可能方法和属性; 如果它是一个Int32,它有一个单独的集,依此类推.
使用语义,emacs中提供的代码词法分析器/解析器包,我可以找到变量声明及其类型.鉴于此,可以直接使用反射来获取类型上的方法和属性,然后向用户显示选项列表.(好吧,在 emacs中做的不是那么简单,但是使用在 emacs 中运行PowerShell进程的能力,它变得容易得多.我编写了一个自定义.NET程序集来进行反射,将其加载到powershell中,然后在内部运行elisp emacs可以通过comint向powershell发送命令并读取响应.因此,emacs可以快速获得反射结果.)
当代码var在声明正在完成的事物中使用时,问题就会到来.这意味着未明确指定类型,并且完成将不起作用.
当使用var关键字声明变量时,如何可靠地确定实际使用的类型?为了清楚起见,我不需要在运行时确定它.我想在"设计时"确定它.
到目前为止,我有这些想法:
我知道怎么做这一切.但对于编辑器中的每个完成请求,它听起来非常重量级.
我想我每次都不需要新的AppDomain.我可以为单个AppDomain重复使用多个临时程序集,并在多个完成请求中分摊设置和拆除它的成本.这更像是对基本理念的调整.
只需将声明编译到模块中,然后检查IL,以确定编译器推断出的实际类型.这怎么可能?我会用什么来检查IL?
还有更好的想法吗?评论?建议?
编辑 - 进一步考虑这一点,编译和调用是不可接受的,因为调用可能有副作用.因此必须排除第一种选择.
此外,我认为我不能假设.NET 4.0的存在.
更新 - 上面没有提到的正确答案,但Eric Lippert温和地指出,是实现完全保真的类型推理系统.它是在设计时可靠地确定var类型的唯一方法.但是,这也不容易.因为我苦于没有幻想,我要试图建立这样的事情,我把选项2的快捷方式-提取相关声明代码,并编译它,然后检查所产生的IL.
这实际上适用于完成方案的公平子集.
例如,假设在下面的代码片段中,?是用户要求完成的位置.这有效:
var x = "hello there";
x.?
Run Code Online (Sandbox Code Playgroud)
完成意识到x是一个String,并提供适当的选项.它通过生成并编译以下源代码来实现:
namespace N1 {
static class dmriiann5he { // randomly-generated class name
static void M1 () {
var x = "hello there";
}
}
}
Run Code Online (Sandbox Code Playgroud)
......然后用简单的反射检查IL.
这也有效:
var x …Run Code Online (Sandbox Code Playgroud) 所以不要重新发明轮子,我想知道从无上下文语言(如yacc等产生的语言)生成随机语句已经做了些什么.这些语法主要用于解析,但也许有人为测试解析器做了一些生成?谢谢
就我而言,
#include <boost/mpl/list.hpp>
#include <algorithm>
namespace mpl = boost::mpl;
class RunAround {};
class HopUpAndDown {};
class Sleep {};
template<typename Instructions> int doThis();
template<> int doThis<RunAround>() { /* run run run.. */ return 3; }
template<> int doThis<HopUpAndDown>() { /* hop hop hop.. */ return 2; }
template<> int doThis<Sleep>() { /* zzz.. */ return -2; }
int main()
{
typedef mpl::list<RunAround, HopUpAndDown, Sleep> acts;
// std::for_each(mpl::begin<acts>::type, mpl::end<acts>::type, doThis<????>);
return 0;
};
Run Code Online (Sandbox Code Playgroud)
我该如何完成?(我不知道我是否应该使用std :: for_each,只是基于另一个答案的猜测)
我想在javascript中初始化一个对象直接调用属于它的方法:
var obj = (function(){
return{
init: function(){
console.log("initialized!");
return this;
},
uninit: function(x){
console.log("uninitialized!");
}
};
}).init();
//later
obj.uninit();
obj.init();
Run Code Online (Sandbox Code Playgroud)
这个具体的例子不起作用,有类似的东西吗?
在java中,我们如何在do while循环中只执行一次指令
do{
int param;
//execute this onty one time (depends of param)
//other instructions instructions
}while(condition)
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在创建一个显示博客的功能.所以我做了一个show blog功能,但它不断给出"在不在对象上下文中时使用$ this"错误
Class Blog{
public function getLatestBlogsBig($cat = null){
$sqlString = "SELECT blog_id FROM jab_blog";
if($cat != null)
$sqlString .= " WHERE blog_cat = " . $cat;
$sqlString .= " ORDER BY blog_id DESC LIMIT 5";
$blog = mysql_query($sqlString);
while($id = mysql_result($blog,"blog_id")){
$this->showBlog($id); //Error is on this line
}
}
function showBlog($id,$small = false){
$sqlString = "SELECT blog_id FROM jab_blog WHERE blog_id=" . $id . ";";
$blog = mysql_query($sqlString);
if($small = true){
echo "<ul>";
while($blogItem = mysql_fetch_array($blog)){
echo '<a …Run Code Online (Sandbox Code Playgroud)