小编Uwe*_*eim的帖子

如何在C#中动态创建一个类?

我有一个看起来像这样的课:

public class Field
{
    public string FieldName;
    public string FieldType;
}
Run Code Online (Sandbox Code Playgroud)

并且List<Field>具有值的对象:

{"EmployeeID","int"},
{"EmployeeName","String"},
{"Designation","String"}
Run Code Online (Sandbox Code Playgroud)

我想创建一个如下所示的类:

Class DynamicClass
{
    int EmployeeID,
    String EmployeeName,
    String Designation
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

我希望在运行时生成它.我不希望物理CS文件驻留在我的文件系统中.

.net c# reflection.emit dynamic-class-creation

204
推荐指数
10
解决办法
20万
查看次数

资源解释为Document但使用MIME类型application/zip传输

使用Chrome 12.0.742.112,如果我使用以下标头重定向:

HTTP/1.1 302 Found 
Location: http://0.0.0.0:3000/files/download.zip
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Ua-Compatible: IE=Edge
X-Runtime: 0.157964
Content-Length: 0
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Tue, 05 Jul 2011 18:42:25 GMT
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)

如果遵循,则返回以下标题:

HTTP/1.1 200 OK 
Last-Modified: Tue, 05 Jul 2011 18:18:30 GMT
Content-Type: application/zip
Content-Length: 150014
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Tue, 05 Jul 2011 18:44:47 GMT
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)

Chrome不会重定向,也不会更改上一页,它只会在控制台中报告以下警告:

资源解释为Document但使用MIME类型application/zip传输.

该过程在Firefox中正常运行,如果我打开一个新标签并直接进入,也可以在Chrome中正常运行http://0.0.0.0:3000/files/download.zip.我做错了什么,或者这是Chrome的错误/怪癖?

javascript google-chrome

184
推荐指数
7
解决办法
36万
查看次数

异步编程和多线程有什么区别?

我认为它们基本上是相同的 - 编写在处理器之间分割任务的程序(在具有2个以上处理器的机器上).然后我正在阅读https://msdn.microsoft.com/en-us/library/hh191443.aspx,其中说

异步方法旨在实现非阻塞操作.异步方法中的await表达式在等待的任务运行时不会阻止当前线程.相反,表达式将方法的其余部分作为延续进行注册,并将控制权返回给异步方法的调用者.

async和await关键字不会导致创建其他线程.异步方法不需要多线程,因为异步方法不能在自己的线程上运行.该方法在当前同步上下文上运行,并仅在方法处于活动状态时在线程上使用时间.您可以使用Task.Run将CPU绑定的工作移动到后台线程,但后台线程无助于正在等待结果可用的进程.

我想知道是否有人可以为我翻译成英文.它似乎区分了异步性(是一个单词?)和线程,并暗示你可以拥有一个具有异步任务但没有多线程的程序.

现在我理解异步任务的想法,例如pg上的示例.Jon Skeet的C#In Depth,第三版中的 467

async void DisplayWebsiteLength ( object sender, EventArgs e )
{
    label.Text = "Fetching ...";
    using ( HttpClient client = new HttpClient() )
    {
        Task<string> task = client.GetStringAsync("http://csharpindepth.com");
        string text = await task;
        label.Text = text.Length.ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)

async关键字的意思是" 这个功能,无论何时它被调用时,不会在这是需要的一切它的完成被称为它的呼叫后,上下文调用."

换句话说,将它写在某个任务的中间

int x = 5; 
DisplayWebsiteLength();
double y = Math.Pow((double)x,2000.0);
Run Code Online (Sandbox Code Playgroud)

,因为DisplayWebsiteLength()与"无关" xy将导致DisplayWebsiteLength()"在后台"执行,如

                processor 1                |      processor 2
-------------------------------------------------------------------
int …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing multithreading asynchronous async-await

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

对象'xxxxxxx',数据库'zzzzzzz',架构'dbo'上的EXECUTE权限被拒绝

我在执行函数时遇到问题.

这是我做的:

  1. 使用SQL Server Management Studio创建函数.它已成功创建.
  2. 然后我尝试执行新创建的函数,这是我得到的:

对象'xxxxxxx',数据库'zzzzzzz',架构'dbo'上的EXECUTE权限被拒绝.

sql-server

172
推荐指数
7
解决办法
36万
查看次数

是否有内置的方法来比较集合?

我想在我的Equals方法中比较几个集合的内容.我有一个词典和一个IList.有没有内置的方法来做到这一点?

编辑:我想比较两个字典和两个IList,所以我认为平等意味着什么是明确的 - 如果两个字典包含映射到相同值的相同键,那么它们是相等的.

.net c# collections

170
推荐指数
6
解决办法
8万
查看次数

C#3.0自动属性 ​​- 有用与否?

注意:这是在我开始使用C#时发布的.凭借2014年的知识,我可以真正地说,自动属性是C#语言中发生过的最好的事情.

我习惯使用私有和公共字段在C#中创建我的属性:

private string title;
public string Title
{
    get { return title;  }
    set { title = value;  }
}
Run Code Online (Sandbox Code Playgroud)

现在,使用.NET 3.0,我们获得了自动属性:

public string Title { get; set; }
Run Code Online (Sandbox Code Playgroud)

我知道这更像是一个哲学/主观问题,但除了为每个字段保存五行代码之外,是否有任何理由使用这些自动属性?我个人的抱怨是那些属性隐藏了我的东西,我不是黑魔法的忠实粉丝.

事实上,隐藏的私有字段甚至没有显示在调试器中,这是好的,因为get/set函数什么都不做.但是当我想实际实现一些getter/setter逻辑时,我必须使用私有/公共对.

我看到了我节省大量代码(一对六行)而不会失去以后更改getter/setter逻辑的能力的好处,但是我再次通过简单地声明一个公共字段"Public string Title"就可以做到这一点需要{get; 组; 阻止,因此甚至可以节省更多代码.

那么,我在这里错过了什么?为什么有人真的想要使用自动属性?

.net c# automatic-properties

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

C#:如何将ToolTip添加到控件?

我有一些控件,我想ToolTip在鼠标悬停在它上面时显示.我怎样才能做到这一点?我想知道如何在代码中正确地执行此操作,但也在设计器中(ToolTip在工具箱中有一个组件,但我不完全......得到它).

如果这是重复的话,我不会感到惊讶,但我只能找到更高级,特定场景的问题.我想知道基础知识.

c# tooltip winforms

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

如何设置Y轴的最大值和最小值

我正在使用http://www.chartjs.org/的折线图 在此输入图像描述

如您所见,Y轴的最大值(130)和最小值(60)是自动选择的,我希望最大值= 500,最小值= 0.这可能吗?

chart.js

144
推荐指数
15
解决办法
24万
查看次数

使用jQuery从隐藏字段中获取价值

我有一个<input type="hidden" value="" id='h_v' class='h_v'> 使用jQuery我想提醒用户这个值.

我在用

var hv = $('#h_v).text();
alert('x');
Run Code Online (Sandbox Code Playgroud)

但它不起作用,任何线索!

jquery

132
推荐指数
5
解决办法
41万
查看次数

lapply和do.call有什么区别?

我最近在学习R并且被两个函数混淆了:lapplydo.call.它们似乎与mapLisp中的函数类似.但为什么有两个具有不同名称的函数?为什么R只使用一个叫做的函数map

functional-programming r

130
推荐指数
7
解决办法
6万
查看次数