【c# – DLR表达式中的“代码作为数据”在哪里?】教程文章相关的互联网学习教程文章

在项目之间共享C#中的代码而不公开类【代码】

我有一个C#库,它有很多内部功能,只暴露一些公共类和接口.我想在几个项目之间共享此代码,并且每个项目可能需要使用子类扩展内部类. 我不喜欢将所有这些类公开以创建公共库的想法.我认为它暴露了太多容易反编译和打破设计. 是创建源代码副本并使这些文件在项目之间保持同步的唯一真正选择吗?或者是否有某种方式我可以共享代码并仍然为每个项目获得一个单独的库,只暴露少数预期的公共接口和类? 我正在使用Visual Studio 2010. UPDAT...

c# – Entity Framework 5代码首先无法让模型工作【代码】

在这个上再次撕掉我的头发…使用EF 5 Code First,在代码中构建模型 – 编译,所以它在语法上是正确的,但是当代码构建模型时我得到一个例外.这是实体类(我也有vaidation属性,但为了便于阅读,已将它们删除):[Table("USERS")] public class User : IPEntity {#region Constructor (needs to initialize list objects for related entities)public User(){this.Profiles = new List<Profile>();this.ProfileDivs = new List<ProfileDiv...

c# – JitIntrinsicAttribute如何影响代码生成?

我浏览.NET源代码并看到了this attribute.它说,An attribute that can be attached to JIT Intrinsic methods/properties并根据MSDN:Indicates that a modified method is an intrinsic value for which thejust-in-time (JIT) compiler can perform special code generation. Thisclass cannot be inherited.但我很难找到.在什么样的代码上执行特殊的代码生成? 我的主要猜测是它主要使用像SIMD这样的处理器指令,比如Java JIT do...

如何从c#asp.net应用程序代码后面写入chrome / ie / ff f12控制台【代码】

我已经在线查看了stackoverflow似乎只给了我在visual studio中写入窗口的代码.这不是我想要的,我希望从代码隐藏中获得console.log()js功能.解决方法:你不能直接通过代码后面的代码写入浏览器的控制台.代码隐藏正在您的服务器上执行,浏览器(或消费者)不知道那里发生了什么. 如果要传递将在console.log中显示的代码隐藏消息,则必须将它们呈现到页面中以通过javascript执行. 例如:<script> console.log('@(Model.your_message)'); </...

c# – 获取代码隐藏中JQGrid的所有行数据?【代码】

我正在使用javascript向客户端的JQGrid添加一些行数据:var grid = jQuery("#<%= JQGridMembers.ClientID %>"); var rowKey = grid.getGridParam("selrow"); var newRow = [{ ID: memberId, FullName: memberFullName, Percent: parseInt(percent)}]; grid.addRowData(memberId, newRow);上面的代码运行良好,但如何在代码隐藏中获取所有插入的行数据(在JQGrid中)?解决方法:您可以通过网格获取所有行var myData = grid.jqGrid('get...

C#.Net 3.5使用LINQ替换文件扩展名的代码【代码】

我已经编写了这个非常简单的函数来在C#.NET 3.5中使用LINQ替换文件扩展名,但是我觉得有更优雅的方法来执行此操作. (我不打算在这里使用LINQ – 只是寻找更优雅的方法.)想法?private string ReplaceFileExtension(string fileName, string newExtension){string[] dotSplit = fileName.Split('.');return String.Join(".", dotSplit.Take(dotSplit.Length - 1).ToArray()) + "." + newExtension;}(我知道如果原始文件名没有点,这将...

c# – 这些代码示例中哪一个具有更好的性能?【代码】

在对one of my questions的回复中,我收到了一些答案,说样式2可能比样式1表现更好.我不明白如何,因为我认为它们应该发出基本相同的机器指令(如果用C语言编写).你能解释为什么风格2可能表现更好吗? 我将在这里重写这两种样式以便于参考: 风格1:while (!String.IsNullOrEmpty(msg = reader.readMsg())) {RaiseMessageReceived();if (parseMsg){ParsedMsg parsedMsg = parser.parseMsg(msg);RaiseMessageParsed();if (processMsg){p...

代码行数的C#代价?

我的home.cs表单中的代码数量是否有限制或性能损失? 我在Visual Studio 2008中用C#编写数据库应用程序前端.事情排队的方式,我使用标签页方式将显示的信息更改为最终用户,而不是使用新表单. 来自VBA / MS Access,我记得如果你超过一定数量的代码行,它会产生错误而不能编译. C#会在Visual Studio 2008中执行此操作,还是会受到性能影响?我知道代码可读性可能是一个问题,因为一切都在一个地方,但我也可以看到这在某些情况下是一个优势...

c# – 缩短“if,else”函数的代码【代码】

我有一个最大值为“9”的滑块.每个值都应更改标签的文本.我现在只能想到这个方法:private void Slider_Scroll(object sender, EventArgs e) {if (Slider.Value == 0){Label.Text = "Text1";}else if (Slider.Value == 1){Label.Text = "Text2";}//...and so on... }有没有办法以较短的方式做到这一点?解决方法:您可以使用List< string>并使用Slider.Value索引它:List<string> list = new List<string>() { "Text1", "Text2", .....

为什么在C#中生成代码使用下划线?

我知道这可能是一个愚蠢的问题,但在这里.我总是写私人会员像privateMember,我一直在读C#中的命名约定,因为我注意到Visual Studio中很多自动生成的代码使用_variableName作为私有成员.我读到的任何地方,即使在Microsoft文档中,您都应该使用privateMember.所以,我的问题是,如果好的做法说我应该像现在这样编写privateMember,为什么Visual Studio会使用下划线(_privateMember)生成私有成员的类?解决方法:不久前,当C#进入市场时,有一个...

c# – 增加代码的性能【代码】

如何摆脱foreach仍然得到相同的输出.如何通过摆脱foreach循环来提高代码的性能.public List<tblcourse> GetData(string value) {testEntities1 db = new testEntities1();int v = Convert.ToInt32(value);testEntities1 t = new testEntities1();var u = (from g in t.tblcoursesselect new { g.C_Id, g.C_Name }).ToList();List<tblcourse> lisstt = new List<tblcourse>();foreach (var item in u){tblcourse b = new tblcours...

c# – .Net 4.0优化代码,用于重构现有的“if”条件和“is”运算符【代码】

我有以下C#代码.它工作正常;但是使用is operator,GetDestination()方法会被多个if条件混乱. 在.Net 4.0(或更高版本)中,避免这些“if”条件的最佳方法是什么? 编辑:角色是业务模型的一部分,目标纯粹是使用该业务模型的一个特定应用程序的工件. 码public class Role { } public class Manager : Role { } public class Accountant : Role { } public class Attender : Role { } public class Cleaner : Role { } public class Secu...

c# – 如何简化代码?【代码】

我刚刚在C#/ Silverlight中创建了我的第一个主要应用程序.最后,总行数超过12,000行代码.考虑到这是一个php / javascript应用程序的重写,我创建了2年,超过28,000行,我实际上为我的成就感到自豪. 在stackoverflow和其他网站上阅读了很多问题和答案之后,我遵循了许多海报的建议:我创建了一些课程,程序等,这些都是我一年前复制和粘贴的内容;我创建了逻辑图表以找出复杂的功能;确保没有疯狂的隐藏字符(使用标签代替空格);和其他一些事情...

c# – 为什么这段代码不会以死锁结束【代码】

我有这个C#代码:public class Locking {private int Value1; private int Value2;private object lockValue = new Object();public int GetInt1(int value1, int value2){lock (lockValue){Value1 = value1;Value2 = value2;return GetResult();}}public int GetInt2(int value1, int value2){lock (lockValue){return GetInt1(value1, value2);}}private int GetResult(){return Value1 + Value2;}}所以基本上我期望一个死锁,如果...

C# 实现WinForm窗口最小化到系统托盘代码【代码】

注:本程序是在VS2005基础上写的。 1、如果不想让程序在任务栏中显示,请把窗体的属性ShowInTaskbar设置为false; 2、如果想让程序启动时就最小化,请设置窗体的属性WindowState设置为Minimized。(Minimized 最小化,Normal正常启动,Maximized最大化) 3、拉一个NotifyIcon控件notifyIcon,为控件notifyIcon的属性Icon添加一个icon图标。 4、可以为NotifyIcon加一个ContextMenuStrip右键菜单menu_Notify。 5、本例子禁用了窗体最大化...