可能是先问这个问题,我谷歌搜索但我没有得到答案.
委托原型
delegate void method1(string str);
Run Code Online (Sandbox Code Playgroud)
添加回调方法
method1 objDel2;
objDel2 = new method1(TestMethod1);
objDel2("test");
objDel2.Invoke("Invoke");
Run Code Online (Sandbox Code Playgroud)
在上面的编码 objDel2("test");和objDel2.Invoke("Invoke");正在做同样的任务.哪一个是好的或两者是相同的.
我使用了一个<asp:Button />控件,在浏览器中渲染后控件没有click分配事件属性.究竟是如何调用服务器端事件的呢?
ASPX代码:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="TestClickEvent" />
Run Code Online (Sandbox Code Playgroud)
上面的控件在浏览器中呈现如下代码:
<input type="submit" name="Button1" value="Button" id="Button1">
Run Code Online (Sandbox Code Playgroud)
以下代码在浏览器中呈现,并设置__EVENTTARGET.我怀疑这个__doPostBack方法是如何调用的?调用方法在哪里?
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
Run Code Online (Sandbox Code Playgroud) protected internal同一个程序集的范围,或者是另一个程序集中的任何派生类.那么为什么受保护的内部类不能派生?
示例代码:
protected internal class AbsClass
{
int m = 50;
public int am = 5;
public void nonAbsfn()
{
Console.WriteLine(m + am);
}
}
class TestAbstract : AbsClass
{
}
Run Code Online (Sandbox Code Playgroud) struct TestStruct
{
static TestStruct()
{
Console.WriteLine("TestStruct");
}
}
Run Code Online (Sandbox Code Playgroud)
在结构中调用静态无参数构造函数时.
刚才我读到了扩展方法.我在静态类中创建了静态方法,它的工作正常.
static class ExtensionMethods
{
public static string splitFirstName(this string strName)
{
return strName.Split(" ".ToCharArray())[0];
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果我在Nonstatic类中创建静态方法它不起作用.
class NonStaticCls
{
public static string splitFirstName(this string strName)
{
return strName.Split(" ".ToCharArray())[0];
}
}
Run Code Online (Sandbox Code Playgroud)
请告诉我为什么它不在非静态课堂上工作.
怎么检查object是String[].
例如:
检查object是enum
if (value.GetType().IsEnum)
Run Code Online (Sandbox Code Playgroud) 刚才我在msdn中读过索引器http://msdn.microsoft.com/en-us/library/2549tw02.aspx
我感到困惑,因为索引器在该示例中看起来像一个对象数组.请告诉我Indexers和Object数组之间的区别