我正在尝试向网页控件添加属性.
TextBox txt=new TextBox();
txt.Attributes["Foo"]="Bar"
Run Code Online (Sandbox Code Playgroud)
我需要把它放在一个方法中,但我的问题是我不知道我将发送给它的是什么样的元素 - 也许输入可能是一个选择.本质上我需要这个方法,但是什么oControl呢?在VB中我曾经称之为object.
protected void SetAttrib(oControl){
oControl.Attributes["Foo"]="Bar"
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在编写一个过滤器(在一个用于终端输出的管道中),有时需要"覆盖"刚刚发生的一行.它的工作原理是将stdin逐个字符传递给stdout直到\n达到a,然后调用特殊行为.我的问题是如何回到行的开头.
我想到的第一件事是使用一个\r或ANSI序列\033[1G.但是,如果该行足够长以包裹在终端上(因此导致它滚动),这些只会将光标移回当前物理行.
我的第二个想法是跟踪线的长度(自上一次以来传递的字符数\n),然后\b多次回显.但是,如果该行包含控制字符或转义序列(可能还有Unicode?),则会出错.
如果没有搜索所有特殊序列并使用它来调整我的字符数,是否有一种简单的方法可以实现这一目标?
我正在编写一个需要传递可变整数的迭代器.
public IEnumerable<T> Foo(ref int valueThatMeansSomething)
{
// Stuff
yield return ...;
}
Run Code Online (Sandbox Code Playgroud)
这让我知道"错误476迭代器不能有ref或out参数".
我需要的是在迭代器中修改这个整数值,并由迭代器的调用者使用.换句话说,无论Foo()上述任何调用都想知道最终值,valueThatMeansSomething并且Foo()可以自己使用它.真的,我想要一个引用类型的整数,而不是值类型.
我唯一能想到的是写一个封装了我的整数的类,并允许我修改它.
public class ValueWrapper<T>
where T : struct
{
public ValueWrapper(T item)
{
this.Item = item;
}
public T Item { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以:
ValueWrapper<int> w = new ValueWrapper<int>(0);
foreach(T item in Foo(w))
{
// Do stuff
}
if (w.Item < 0) { /* Do stuff */ }
Run Code Online (Sandbox Code Playgroud)
在BCL中是否有任何类或机制来处理这个问题?ValueWrapper<T>上面提出的任何缺陷?
(我的实际使用比上面的例子更复杂,所以在我的foreach循环中处理调用的变量Foo()不是一个选项.期间.)
我想创建一个这样的函数......
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SaveImage(string file, string fileName)
{
}
Run Code Online (Sandbox Code Playgroud)
其中文件是从映像创建的Base64编码字符串,fileName是我要将其保存为的名称.如何使用此编码字符串将图像写入服务器?
我需要使用BinaryWriter或TextWriter其他一些吗?您如何解码数据以允许它正确写入服务器?
我在Ruby中有一个任意方法,它产生多个值,因此可以将它传递给一个块:
def arbitrary
yield 1
yield 2
yield 3
yield 4
end
arbitrary { |x| puts x }
Run Code Online (Sandbox Code Playgroud)
我想修改这个方法,这样,如果没有块,它只是将值作为数组返回.所以这个结构也可以运行:
myarray = arbitrary
p a -----> [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
这可能在Ruby中吗?
我是初学者所以如果我正在做什么的术语我不知道如何搜索它.如果以前曾经问过,请原谅我.所以这就是我的工作.在我进行任何主要代码更改之前,我会复制一个projects文件夹并将其命名为"project v6".然后,如果我真的搞砸了,无法找到撤消它的方法,我只需回到上一个文件夹.这对我来说已经足够好了,但有时我会忘记这样做而且必须退两步.有没有比我现在更简单的方法呢?
我有一个关于this关键字的样式问题.为了清楚起见,在自引用类中的自动实现属性或方法时是否使用此方法?
例如,在构造函数中,您是否将参数分配编写为:
public class Foo
{
public string FooProperty { get; set; }
public Foo(string fooProperty)
{
this.FooProperty = fooProperty;
}
...
}
Run Code Online (Sandbox Code Playgroud)
或者:
public class Foo
{
public string FooProperty { get; set; }
public Foo(string fooProperty)
{
FooProperty = fooProperty;
}
...
}
Run Code Online (Sandbox Code Playgroud) 我有一个已部署到客户站点的C应用程序.它是在HP-UX上编译和运行的.用户已报告崩溃,我们已获得核心转储.到目前为止,我一直无法在内部复制崩溃.
正如您所怀疑的那样,核心文件/部署的可执行文件完全没有任何符号.当我在gdb中加载并执行bt时,我得到的最好的是:
(gdb) bt
#0 0xc0199470 in ?? ()
Run Code Online (Sandbox Code Playgroud)
我可以在文件上做一个'字符串核心',但我的理解是,所有我到达那里的是可执行文件中的所有字符串,所以在那里找到任何东西似乎是不可能的.
我确实有一个可执行文件的调试版本(用-g编译),不幸的是比发布版本新几个月.如果我尝试使用该集线器启动gdb,我会看到:
warning: exec file is newer than core file.
Core was generated by `program_name'.
Program terminated with signal 11, Segmentation fault.
__dld_list is not valid according to __dld_flags.
#0 0xc0199470 in ?? ()
(gdb) bt
#0 0xc0199470 in ?? ()
Run Code Online (Sandbox Code Playgroud)
虽然编译调试版本并将其部署在客户的站点然后等待另一次崩溃是可行的,但由于多种原因,这将是相对困难和不可取的.
我对代码非常熟悉,并且根据客户的错误报告,对代码崩溃的位置有了更好的了解.
有什么方法可以从这个核心转储中收集更多信息吗?通过字符串或其他调试器或任何东西?谢谢.
c# ×5
c ×2
iterator ×2
.net ×1
.net-3.5 ×1
arrays ×1
asp.net-mvc ×1
base64 ×1
c89 ×1
coding-style ×1
encoding ×1
file ×1
flash ×1
gdb ×1
hp-ux ×1
linux ×1
methods ×1
odbc ×1
performance ×1
pipe ×1
return-value ×1
ruby ×1
terminal ×1
value-type ×1