Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

3
给定其字符串名称,如何实例化一个类?
我有一个抽象类,我想将其初始化为扩展它的类。 我有子类名称作为字符串。 除此之外... String childClassString; MyAbstractClass myObject; if (childClassString = "myExtenedObjectA") myObject = new ExtenedObjectA(); if (childClassString = "myExtenedObjectB") myObject = new ExtenedObjectB(); 我怎样才能做到这一点?基本上,我该如何摆脱if语句?


1
简单发布到Web Api
我正在尝试获取发布请求以使用网络api。以下是我的api控制器。 public class WebsController : ApiController { [HttpPost] public void PostOne(string id) { } [HttpPost] public void PostTwo(Temp id) { } } 我已更改了webapi路由以考虑该操作。Temp模型看起来像这样。 public class Temp { public string Id { get; set; } } 我的观点看起来像这样 @using (Ajax.BeginForm(new AjaxOptions { Url = "/api/webs/postone", HttpMethod = "post" })) { <input name="id" …



9
C#获取控件在窗体上的位置
当控件可能位于其他控件(如“面板”)内部时,是否有任何方法可以检索表单中的控件位置? 控件的Left和Top属性只给我它在父控件中的位置,但是如果我的控件在五个嵌套面板中,并且我需要它在窗体上的位置怎么办? 快速示例: 按钮btnA位于面板pnlB内部的坐标(10,10)上。 面板pnlB位于表格frmC内的坐标(15,15)上。 我想要btnA在frmC上的位置是(25,25)。 我可以得到这个位置吗?
71 c#  winforms  controls 

12
如何将枚举的值获取到SelectList中
想象一下,我有一个这样的枚举(仅作为示例): public enum Direction{ Horizontal = 0, Vertical = 1, Diagonal = 2 } 考虑到枚举的内容将来可能会更改,我该如何编写例程以将这些值获取到System.Web.Mvc.SelectList中?我想将每个枚举名称作为选项文本,并将其值作为值文本,如下所示: <select> <option value="0">Horizontal</option> <option value="1">Vertical</option> <option value="2">Diagonal</option> </select> 到目前为止,这是我能想到的最好的方法: public static SelectList GetDirectionSelectList() { Array values = Enum.GetValues(typeof(Direction)); List<ListItem> items = new List<ListItem>(values.Length); foreach (var i in values) { items.Add(new ListItem { Text = Enum.GetName(typeof(Direction), …
71 c#  asp.net-mvc  enums 

17
Visual Studio重建未修改的项目
因此,正如标题所示,我现在有一个VS2010解决方案,其中包含约50个项目。如果我更改了没有引用的“顶级”项目,那么VS仍然会重建所有50个项目。我正在运行没有任何附加组件的Visual Studio 2010 Ultimate。我正在使用ILMerge将所有项目合并到一个文件中。 我已经通过检查较低级别的dll的时间戳进行了验证,即使它们的代码未被触及,它们也确实已被重建。 我已经阅读了以下所有回复和评论: Visual Studio 2008不断重建 Visual Studio不断构建所有内容 我的解决方案中出现奇怪的VS2010构建故障 在Visual Studio中重建C#项目的原因 但是它们中的大多数只是提供有关卸载项目的建议,以加快构建时间,但没有针对修复的具体建议。我试图弄清楚为什么VS认为这些依赖项目在不使用时需要重新构建并进行修复。 我已启用“工具>选项>项目和解决方案>构建并运行>仅在运行时构建启动项目和依赖项”,但没有任何效果。 另外,如果我只是重建仅具有8个(间接)依赖项的“中级”项目,那么即使未调用ILMerge并且没有修改任何依赖项,它仍将构建所有8个项目。 谢谢大家提供的任何见解。 添加 为了测试一些建议,我从头开始创建了一个新的WinForms项目。然后,我在该解决方案中创建了两个新项目。我将我的两个“最低级别”项目中的所有代码和资源(不是项目文件)复制到了两个全新的项目中(通过将文件和文件夹从资源管理器拖放到Visual Studio中的项目中)。 最低的项目称为B,没有引用任何其他项目。下一个项目A仅引用B。因此,一旦我在项目中添加了所需的.NET和外部程序集引用,就可以构建解决方案。 然后,我有了新的WinForm项目参考A,并进行了完整构建。因此,参考链为: WinForm- > A- > B 然后,我仅修改WinForm 并进行了标准构建(F6)。和以前一样,Visual Studio重建了所有三个项目。 在对项目B中的源文件进行系统地删除之后,我发现如果删除我的Resources.Designer.cs和Resources.resx(并注释掉使用.Properties.Resources那些资源的对象的代码),则对WinForm的修改将不再重建整个解决方案,而只会重建WinForm的。 将BResources.resx和B添加Resources.Designer.cs回项目B(但将引用的代码注释掉,以便没有任何资源的使用)将重新引入完整的构建行为。 为了查看我的资源文件是否损坏,我再次删除了它们,然后创建了一个新文件(通过Project Properties-> Resources),并重新添加了与以前相同的资源,它是一个Excel文件。使用此设置,仍将进行完全重建。 然后,我删除了单个资源,但是将资源文件保留在项目B中。即使没有添加资源,但是资源文件仍在项目中,也会发生完全(不需要)重建。 似乎仅将资源文件添加到(.NET 3.5)项目中,将导致Visual Studio 2010始终重建该项目。这是错误还是预期/预期的行为? 再次感谢大家!

2
将HTML表发布到ADO.NET DataTable
我的视图中有一个HTML表格,如下所示: <table id="tblCurrentYear"> <tr> <td>Leave Type</td> <td>Leave Taken</td> <td>Leave Balance</td> <td>Leave Total</td> </tr> @foreach (var item in Model.LeaveDetailsList) { <tr> <td>@Html.TextBoxFor(m => item.LeaveType, new { width = "100" })</td> <td>@Html.TextBoxFor(m => item.LeaveTaken, new { width = "100" })</td> <td>@Html.TextBoxFor(m => item.LeaveBalance, new { width = "100" })</td> <td>@Html.TextBoxFor(m => item.LeaveTotal, …

5
将字典的C#JSON序列化为{key:value,…}而不是{key:key,value:value,…}
是否可以使用以下格式的DataContractJsonSerializer将.Net Dictionary <Key,Value>序列化为JSON : { key0:value0, key1:value1, ... } 我使用字典<K,V>,因为没有预定义的输入结构。 我对DataContractJsonSerializer的结果很感兴趣!我已经找到一个“代理”示例,但是输出中还有一个附加的“数据”,如果字典<K,String>是,转义也是假的。 我已经找到了解决方案,需要什么!首先,一个可序列化的“字典”类:(当然,该示例仅以一种方式工作,但是我不需要反序列化) [Serializable] public class MyJsonDictionary<K, V> : ISerializable { Dictionary<K, V> dict = new Dictionary<K, V>(); public MyJsonDictionary() { } protected MyJsonDictionary( SerializationInfo info, StreamingContext context ) { throw new NotImplementedException(); } public void GetObjectData( SerializationInfo info, StreamingContext context …

3
正则表达式仅从字符串中获取NUMBER
我从XML接收到“ 7+”或“ 5+”或“ +5”,并且只想使用Regex从字符串中提取数字。例如Regex.Match()函数 stringThatHaveCharacters = stringThatHaveCharacters.Trim(); Match m = Regex.Match(stringThatHaveCharacters, "WHAT I USE HERE"); int number = Convert.ToInt32(m.Value); return number;
71 c#  regex 


6
在.NET Core中在MVC之外使用Razor
我想将Razor用作我在.NET Core中编写的.NET控制台应用程序中的模板引擎。 我遇到的独立Razor引擎(RazorEngine,RazorTemplates)都需要完整的.NET。我正在寻找一种适用于.NET Core的解决方案。
71 c#  .net  razor  .net-core 


7
在C#中,为什么不能在foreach循环中修改值类型实例的成员?
我知道值类型应该是不可变的,但这只是一个建议,而不是规则,对吗?那么为什么我不能做这样的事情: struct MyStruct { public string Name { get; set; } } public class Program { static void Main(string[] args) { MyStruct[] array = new MyStruct[] { new MyStruct { Name = "1" }, new MyStruct { Name = "2" } }; foreach (var item in array) { item.Name = …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.