小编tee*_*nup的帖子

为什么在定义事件时我们需要"event"关键字?

我不明白为什么在定义事件时我们需要"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"关键字,那么我也可以通过调用委托来引发事件.任何人都可以告诉我为什么需要这个事件关键字?

.net c#

102
推荐指数
4
解决办法
2万
查看次数

即使GridView在表单标记内,GridView也必须放在带有runat ="server"的表单标记内

<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标签内,我仍然会收到此错误.

请问有什么线索吗?

.net c# asp.net

84
推荐指数
3
解决办法
19万
查看次数

我可以在EntityFramework中的ObjectSet上使用多少Include以保持性能?

我在我的个人资料页面使用以下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

47
推荐指数
3
解决办法
1万
查看次数

为什么我们不在初始化字符串时使用new运算符?

我在接受采访时被问到这个问题:字符串是引用类型还是值类型.

我说它是一个引用类型.然后他问我为什么不在初始化字符串时使用new运算符?我说因为c#语言有一个更简单的语法来创建一个字符串,编译器会自动将代码转换为对System.String类的construcor的调用.

这个答案是否正确?

.net c#

35
推荐指数
3
解决办法
6918
查看次数

如何使用itextsharp将UTF-8字符写入pdf文件?

我在谷歌上尝试了很多但是却找不到..

任何帮助表示赞赏..

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)

.net c# pdf-generation itext

16
推荐指数
1
解决办法
4万
查看次数

什么是应用程序的功能和非功能部分?

我在接受采访时被问到这个问题.

什么是应用程序的功能和非功能部分?

requirements

12
推荐指数
1
解决办法
5817
查看次数

来自user32.dll的FindWindowEx使用dllimport返回零句柄和错误代码127

我需要以编程方式处理另一个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)

c# pinvoke winapi dllimport findwindow

11
推荐指数
1
解决办法
6万
查看次数

RaisePropertyChanged <T>如何找到属性名称?

这种方法有一个重载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表达式中找到属性名称?

.net lambda c#-4.0

11
推荐指数
1
解决办法
3307
查看次数

获取数组中元素索引的快速方法是什么?

我在接受采访时被问到这个问题.虽然采访是针对网点位置的,但他在java的背景下问我这个问题,因为我在简历中也提到了java.

如何在数组中找到值为X的元素的索引?

我说从第一个元素到最后一个元素迭代,并检查值是否为X将给出结果.他询问了一种涉及较少次迭代的方法,我说使用二进制搜索,但这只能用于排序数组.我试着在Array类中使用IndexOf函数.但我身边没有回答这个问题.

有没有快速的方法来获取数组中具有值X的元素的索引?

.net c# java

10
推荐指数
3
解决办法
5247
查看次数

NpGsql EntityFramework 6 - "操作已在进行中"

我正在开发一个项目,使用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# postgresql entity-framework npgsql

9
推荐指数
1
解决办法
2847
查看次数