我不明白为什么在定义事件时我们需要"event"关键字,当我们可以在不使用"event"关键字的情况下执行相同的操作,只需使用委托.
例如
public delegate void CustomEventHandler(int a, string b);
public event CustomEventHandler customEvent;
customEvent += new CustomEventHandler(customEventHandler);
customEvent(1,"a"); // Raising the event
Run Code Online (Sandbox Code Playgroud)
这里,如果我从第二行删除"event"关键字,那么我也可以通过调用委托来引发事件.任何人都可以告诉我为什么需要这个事件关键字?
<form runat="server" id="f1">
<div runat="server" id="d">
grid view:
<asp:GridView runat="server" ID="g">
</asp:GridView>
</div>
<asp:TextBox runat="server" ID="t" TextMode="MultiLine" Rows="20" Columns="50"></asp:TextBox>
</form>
Run Code Online (Sandbox Code Playgroud)
代码背后:
public partial class ScriptTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
g.DataSource = new string[] { "a", "b", "c" };
g.DataBind();
TextWriter tw = new StringWriter();
HtmlTextWriter h = new HtmlTextWriter(tw);
d.RenderControl(h);
t.Text = tw.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
即使GridView在runat ="server"的from标签内,我仍然会收到此错误.
请问有什么线索吗?
我在我的个人资料页面使用以下LINQ查询:
var userData = from u in db.Users
.Include("UserSkills.Skill")
.Include("UserIdeas.IdeaThings")
.Include("UserInterests.Interest")
.Include("UserMessengers.Messenger")
.Include("UserFriends.User.UserSkills.Skill")
.Include("UserFriends1.User1.UserSkills.Skill")
.Include("UserFriends.User.UserIdeas")
.Include("UserFriends1.User1.UserIdeas")
where u.UserId == userId
select u;
Run Code Online (Sandbox Code Playgroud)
它有一个长对象图并使用许多包含.它现在运行得很好,但是当网站有很多用户时,它会影响性能吗?
我应该用其他方式吗?
linq performance linq-to-entities entity-framework asp.net-mvc-2
我在接受采访时被问到这个问题:字符串是引用类型还是值类型.
我说它是一个引用类型.然后他问我为什么不在初始化字符串时使用new运算符?我说因为c#语言有一个更简单的语法来创建一个字符串,编译器会自动将代码转换为对System.String类的construcor的调用.
这个答案是否正确?
我在谷歌上尝试了很多但是却找不到..
任何帮助表示赞赏..
Plz帮助..
请找到以下代码: -
protected void Page_Load(object sender, EventArgs e)
{
StreamReader read = new StreamReader(@"D:\queryUnicode.txt", Encoding.Unicode);
string str = read.ReadToEnd();
Paragraph para = new Paragraph(str);
FileStream file = new FileStream(@"D:\Query.pdf",FileMode.Create);
Document pdfDoc = new Document();
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, file );
pdfDoc.Open();
pdfDoc.Add(para);
pdfDoc.Close();
Response.Write("Pdf file generated");
}
Run Code Online (Sandbox Code Playgroud) 我需要以编程方式处理另一个Windows应用程序,搜索谷歌我找到了一个使用DLLImport属性处理Windows计算器的示例,并在C#中将user32.dll函数导入托管应用程序.
应用程序正在运行,我正在获取主窗口的句柄,即计算器本身,但后续代码不起作用.FindWindowEx方法不返回计算器子项的句柄,如按钮和文本框.
我尝试在DLLImport上使用SetLastError = True,发现我收到错误代码127,即"找不到过程".
这是我从中获取示例应用程序的链接:
http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=14519&av=34503
如果有人知道如何解决它,请帮忙.
更新:DLLImport是:
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);
Run Code Online (Sandbox Code Playgroud)
不起作用的守则是:
hwnd=FindWindow(null,"Calculator"); // This is working, I am getting handle of Calculator
// The following is not working, I am getting hwndChild=0 and err = 127
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","1");
Int32 err = Marshal.GetLastWin32Error();
Run Code Online (Sandbox Code Playgroud) 这种方法有一个重载NotificationObject
: -
protected void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression);
Run Code Online (Sandbox Code Playgroud)
我们在以下方式写入属性的setter:
RaisePropertyChanged(() => PropertyVariable);
Run Code Online (Sandbox Code Playgroud)
它是如何工作的?它如何从这个Lambda表达式中找到属性名称?
我在接受采访时被问到这个问题.虽然采访是针对网点位置的,但他在java的背景下问我这个问题,因为我在简历中也提到了java.
如何在数组中找到值为X的元素的索引?
我说从第一个元素到最后一个元素迭代,并检查值是否为X将给出结果.他询问了一种涉及较少次迭代的方法,我说使用二进制搜索,但这只能用于排序数组.我试着在Array类中使用IndexOf函数.但我身边没有回答这个问题.
有没有快速的方法来获取数组中具有值X的元素的索引?
我正在开发一个项目,使用NpGsql EntityFramework 6连接到PostgreSQL数据库.当我尝试执行查询时,我得到了问题标题中的异常GetAdminUsersCount
:
public class GenieRepository : IDisposable
{
GenieDbContext db = new GenieDbContext();
public IEnumerable<User> GetUsers()
{
return db.Users;
}
}
public int GetAdminUsersCount()
{
return repo.GetUsers().Where(u => u.Role.RoleName == "Administrator").Count();
}
Run Code Online (Sandbox Code Playgroud)
这个错误的原因是什么以及如何解决?
c# ×7
.net ×6
asp.net ×1
c#-4.0 ×1
dllimport ×1
findwindow ×1
itext ×1
java ×1
lambda ×1
linq ×1
npgsql ×1
performance ×1
pinvoke ×1
postgresql ×1
requirements ×1
winapi ×1