Tag: C#的

C#创build新的T()

你可以看到我正在尝试(但失败)做以下代码: protected T GetObject() { return new T(); } 任何帮助将不胜感激。 编辑: 背景如下。 我正在玩所有控制器的自定义控制器类,以标准化方法派生。 所以在上下文中,我需要创build一个控制器types的对象的新实例。 所以在写作的时候,是这样的: public class GenericController<T> : Controller { … protected T GetObject() { return (T)Activator.CreateInstance(ObjectType); } public ActionResult Create() { var obj = GetObject() return View(obj); } 所以我决定在这里最简单的reflection。 我同意,当然在给出问题的最初陈述之后,标记为正确的最恰当的答案是使用new()约束的答案。 我已经解决了。

selectstd :: map和std :: unordered_map

现在, std在unordered_map有一个真正的哈希映射,为什么(或什么时候)我仍然想要在真正存在的系统map通过unordered_map使用好的旧map ? 有什么明显的情况我不能马上看到?

在Web API中使用HttpClient发布JsonObject

我试图从Web API使用HttpClient POST JsonObject 。 我不太清楚如何去解决这个问题,在代码示例中找不到太多东西。 以下是我到目前为止: var myObject = (dynamic)new JsonObject(); myObject.Data = "some data"; myObject.Data2 = "some more data"; HttpClient httpClient = new HttpClient("myurl"); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = httpClient.Post("", ???); 我想我需要把我的JsonObject当成StreamContent来投放,但是我正在把这个步骤挂起来。

如何设置combobox中选定的项目以匹配我的string使用C#?

我有一个string“test1”,我的combobox包含test1 , test2和test3 。 如何将所选项目设置为“test1”? 也就是说,如何将我的string与其中一个combobox项目匹配? 我正在考虑下面的行,但这不起作用。 comboBox1.SelectedText = "test1";

从signed char转换为unsigned char并返回?

我正在使用JNI,并有一个jbytetypes的数组,其中jbyte表示为一个有符号的字符,即从-128到127.Jbytes表示图像像素。 对于image processing,我们通常希望像素组件的范围从0到255.因此,我想将jbyte值转换为0到255的范围(即与无符号字符相同的范围),对值进行一些计算,然后存储再次结果为jbyte。 我怎样才能安全地做这些转换? 我设法得到这个代码的工作,一个像素值增加30,但钳位值255,但我不明白,如果它是安全的或可移植的: #define CLAMP255(v) (v > 255 ? 255 : (v < 0 ? 0 : v)) jbyte pixel = … pixel = CLAMP_255((unsigned char)pixel + 30); 我有兴趣知道如何在C和C ++中做到这一点。

头文件中的variables声明

如果我有一个variables,可能在几个来源使用 – 是一个很好的做法,在一个头部声明? 还是最好在.c文件中声明并在其他文件中使用extern ?

什么是在.NET 4.0下使用SmtpClient,SendAsync和Dispose的最佳实践

对于如何pipe理SmtpClient,我现在有些困惑,特别是在使用SendAsync进行调用时。 据推测,我不应该直到SendAsync完成调用Dispose。 但是我应该永远称它(例如,使用“使用”)。 这个场景是一个WCF服务,在打电话时定期邮寄电子邮件。 大部分的计算速度很快,但发送电子邮件可能需要一秒左右,所以asynchronous将是可取的。 我应该每次发送邮件时创build一个新的SmtpClient? 我应该为整个WCF创build一个吗? 帮帮我! 更新如果它有所作为,每个电子邮件总是为用户定制。 WCF托pipe在Azure上,Gmail用作邮件程序。

我如何执行插入并返回与Dapper插入的身份?

如何执行插入到数据库并返回插入的身份与Dapper? 我试过这样的事情: string sql = "DECLARE @ID int; " + "INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff); " + "SELECT @ID = SCOPE_IDENTITY()"; var id = connection.Query<int>(sql, new { Stuff = mystuff}).First(); 但它没有工作。 @Marc Gravell谢谢,回复。 我试过你的解决scheme,但是,仍然是exception跟踪在下面 System.InvalidCastException: Specified cast is not valid at Dapper.SqlMapper.<QueryInternal>d__a`1.MoveNext() in (snip)\Dapper\SqlMapper.cs:line 610 at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at Dapper.SqlMapper.Query[T](IDbConnection cnn, […]

代表们,为什么?

可能重复: 你什么时候在C#中使用委托? 代表的目的 我看到很多关于代表使用的问题。 我仍然不清楚在哪里,为什么你会使用委托,而不是直接调用方法。 我多次听到这句话:“委托对象可以被传递给可以调用引用方法的代码,而不必在编译时知道哪个方法会被调用。 我不明白这种说法是正确的。 我写了下面的例子。 假设你有3个相同参数的方法: public int add(int x, int y) { int total; return total = x + y; } public int multiply(int x, int y) { int total; return total = x * y; } public int subtract(int x, int y) { int total; return total = x – […]

为什么要使用MVVM?

好的,我一直在研究MVVM模式,每次我以前都试过,我放弃了很多原因: 不必要的超长编码 编码器没有明显的优势(我的办公室没有devise师,目前只有我自己很快成为另一个编码器) 没有很多资源/好的做法的文件! (或者至less很难find) 不能想到这是有利的一个场景。 我即将再次放弃,并想我会问是否有人回答上述原因。 我真的不能看到使用这个单一/合作伙伴编码的优势。 即使在10个窗口的复杂项目。 对我来说,DataSet是一个足够好的观点和约束在布伦特回答下面的问题 可以有人展示一个例子,与XAML DataBinding相比,使用MVVM模式会节省多less时间。 我的绑定的100%目前在XAML中完成。 因此,我不认为虚拟机的重点是它需要编写和依赖的额外代码。 编辑: 经过下午的关于MVVM的研究,我终于find了一些让我从这个答案中体会到真正的好处。