小编use*_*667的帖子

Windows窗体中的提示对话框

我正在使用,System.Windows.Forms但奇怪的是,没有能力创建它们.

如何在没有javascript的情况下获得类似javascript提示对话框的内容?

MessageBox很不错,但用户无法输入输入.

.net c# dialog prompt winforms

104
推荐指数
5
解决办法
19万
查看次数

打破变量值的变化

与此处的其他问题类似,就像这一个.

有没有办法在任何JavaScript调试器中打破变量值的变化?(比如IE Developer工具,Visual Studio或Firebug)?

我想它就像是一个"监视变量",但我希望能够看到callstack并在实际发生变量变化时暂停它.

另一种方法可能是使用自定义setter覆盖值设置,并在其中放置断点,但不幸的是,这对IE AFAIK不起作用.

更新 似乎这种行为至少可用于用C++编写的非托管代码. 所以我想也许用C++编写的javascript引擎(谷歌的V8)可能有类似的东西,但似乎没有我想要的东西.

javascript debugging breakpoints watch

44
推荐指数
2
解决办法
3万
查看次数

使用一个连接执行多个sql命令或每次重新连接是否更好?

这是我的测试代码,它似乎表明连接多次而不是仅连接一次更好.

难道我做错了什么?

int numIts = 100;
Stopwatch sw = new Stopwatch();
sw.Start();
using (SqlConnection connection = new SqlConnection(connectionParameters))
{   
            connection.Open();
    for(int i = 0; i < numIts; i++)
    {
        SqlCommand command = new SqlCommand(sqlCommandName, connection);
                command.CommandType = CommandType.StoredProcedure;
                command.Parameters.AddWithValue(par1Name, par1Val);
                command.Parameters.AddWithValue(par2Name, par2Val);
        using(SqlDataReader reader = command.ExecuteReader())
        {
        }
    }
}
sw.Stop();
TimeSpan durationOfOneConnectionManyCommands = sw.Elapsed;
Console.WriteLine(durationOfOneConnectionManyCommands);

sw.Reset();

sw.Start();
for(int i = 0; i < numIts; i++)
{
    using (SqlConnection connection = new SqlConnection(connectionParameters))
    {   
                connection.Open();
        SqlCommand command = new SqlCommand(sqlCommandName, …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server performance sqlconnection

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

C#反射并找到所有引用

给定一个DLL文件,我希望能够找到该DLL文件中所有方法的调用.我怎样才能做到这一点?

从本质上讲,我如何以编程方式执行Visual Studio已经执行的操作?

我不想使用像.NET Reflector这样的工具来做到这一点,但反射很好,可能是必要的.

c# reflection reflector reference

37
推荐指数
2
解决办法
3万
查看次数

获取javascript呈现页面的html(与之交互后)

我希望能够在我与之交互后保存html页面的状态.

假设我单击一个复选框,或者javascript设置各种元素的值.

如何保存"javascript-rendered"页面?

谢谢.

html javascript state save

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

Dictionary Keys.Contains vs. ContainsKey:它们在功能上是否相同?

我很想知道这两个在所有情况下是否在功能上是等效的.

是否有可能通过更改字典的默认比较器,这两者在功能上会有所不同?

而且,Keys.Contains几乎不能保证更慢?

c# performance dictionary equivalence

20
推荐指数
2
解决办法
1万
查看次数

当一个非只读类已经到位时,只读类设计

我有一个类,在构建时,从数据库加载它的信息.信息都是可修改的,然后开发人员可以调用它上面的Save()使其将该信息保存回数据库.

我也在创建一个将从数据库加载的类,但不允许对它进行任何更新.(一个只读版本.)我的问题是,我应该创建一个单独的类并继承,还是应该只更新现有对象以在构造函数中获取readonly参数,还是应该完全创建一个单独的类?

现有的类已经在代码中的许多地方使用.

谢谢.

更新:

首先,这里有很多很棒的答案.很难接受只有一个.感谢大家.

看来主要的问题是:

  • 满足基于类名和继承结构的期望.
  • 防止不必要的重复代码

Readable和ReadOnly之间似乎有很大的不同.Readonly类可能不应该继承.但是Readable类表明它在某些时候也可能获得可写性.

经过深思熟虑后,这就是我的想法:

public class PersonTestClass
{
    public static void Test()
    {

        ModifiablePerson mp = new ModifiablePerson();
        mp.SetName("value");
        ReadOnlyPerson rop = new ReadOnlyPerson();
        rop.GetName();
        //ReadOnlyPerson ropFmp = (ReadOnlyPerson)mp;  // not allowed.
        ReadOnlyPerson ropFmp = (ReadOnlyPerson)(ReadablePerson)mp; 
          // above is allowed at compile time (bad), not at runtime (good).
        ReadablePerson rp = mp;
    }
}

public class ReadablePerson
{
    protected string name;
    public string GetName()
    {
        return name;
    }        
}
public sealed class ReadOnlyPerson …
Run Code Online (Sandbox Code Playgroud)

c# readonly

13
推荐指数
4
解决办法
3585
查看次数

是否可以像LINQ一样创建C#语言修改?

我一直在寻找Skeet先生关于如何重新实现LINQ的博客.

特别是,他声明代码:

var list = (from person in people
        where person.FirstName.StartsWith("J")
        orderby person.Age
        select person.LastName)
       .ToList(); 
Run Code Online (Sandbox Code Playgroud)

转换为LINQ库提供的扩展方法的方法:

people.Where(person => person.FirstName.StartsWith("J"))
  .OrderBy(person => person.Age)
  .Select(person => person.LastName) 
Run Code Online (Sandbox Code Playgroud)

由编译器.

我的问题是,如何用图书馆给这些大人物留下足够的印象,让他们允许语言改变以支持图书馆?或者在LINQ出现之前这些词已经被保留了?

c# linq compiler-construction language-design

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

C# - 如何处理/捕获StackOverFlowExceptions?

我不需要从递归到非递归方式的课程,我只是想知道为什么我们不能处理这种类型的异常.无论如何,我在非常大的列表上使用递归函数.

我编写了代码来尝试捕获StackOverFlowExceptions:

try { recursiveFxn(100000); }
catch(Exception){}
Run Code Online (Sandbox Code Playgroud)
private void recursiveFxn(int countdown)
{
if (countdown > 0)
    recursiveFxn(countdown - 1);
else
    throw new Exception("lol.  Forced exception.");
}
Run Code Online (Sandbox Code Playgroud)

但是我仍然遇到程序崩溃(在NUnit和我正在运行的网页中).为什么不抓住例外?

c# recursion exception-handling

10
推荐指数
1
解决办法
4020
查看次数

调整面板大小以适合窗体窗体中包含的元素

我正在创建一个可折叠的面板元素,它本质上是一个面板元素,其按钮元素和按钮下方的面板元素.单击该按钮会使相邻面板具有Visible = false.当子面板设置为不可见时,我想调整包含面板的大小.

我通过将Size属性设置为可见元素(按钮或按钮和子面板的宽度和高度)的总和来手动完成此操作.

我很想知道是否有办法在不手动调用的情况下强制调整包含面板的大小Size.

我想我正在寻找属性的逆Dock=Fill,它会根据包含元素的大小自动调整元素的大小.

提前致谢.

resize panel winforms

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