Internal vs. Private Access Modifiers

C#中的internal和private修饰符有什么区别? internal is for assembly scope (ie only accessible from code in the same .exe or .dll) private is for class scope (ie accessible only from code in the same class). Find an explanation below. You can check this link for more details - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html Private: - Private m

内部与私人访问修改器

C#中的internal和private修饰符有什么区别? 内部用于程序集范围(即,只能从相同的.exe或.dll中的代码访问) private是用于类范围的(即只能从同一类中的代码访问)。 在下面找到一个解释。 您可以查看此链接了解更多详情 - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html 私人: - 私人会员只能在自己的类型(自己的班级)内访问。 内部: - 内部成员只能通过继

Is there a Pattern for dealing with mainframe data?

NOTE: Clarified some of my question at the bottom. I am wondering if there might be a (sane) pattern to deal with request/response from older mainframe systems? In the examples below, IQ is the request and RSIQ is the response . In the first example, I am requesting a list of all account codes and in the second request I am asking for the Closed Date for each account code. Since these are on

有处理大型机数据的模式吗?

注意:在底部澄清我的一些问题。 我想知道是否可能有一个(理智的)模式来处理来自旧主机系统的请求/响应? 在下面的例子中,IQ是请求 ,RSIQ是响应 。 在第一个示例中,我要求提供所有帐户代码的列表,并且在第二个请求中,我要求为每个帐户代码提供关闭日期。 由于这些只通过序号位置链接,因此很容易将数据拉入结构化数据类。 在这种情况下,每个响应代表多个记录。 在第二个例子中,我要求单个记录的几位信息。 在

Why does Code Contracts claim that "Ensures is false" for this code?

This is a constructor in one of my classes: public SemanticVersion(string version) { Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(version)); Contract.Ensures(MajorVersion >= 0); Contract.Ensures(MinorVersion >= 0); Contract.Ensures(PatchVersion >= 0); Contract.Ensures(PrereleaseVersion != null); Contract.Ensures(BuildVersion != null); var

为什么代码合同声明此代码的“确保为假”?

这是我的一个类中的构造函数: public SemanticVersion(string version) { Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(version)); Contract.Ensures(MajorVersion >= 0); Contract.Ensures(MinorVersion >= 0); Contract.Ensures(PatchVersion >= 0); Contract.Ensures(PrereleaseVersion != null); Contract.Ensures(BuildVersion != null); var match = Semant

Code Contract False Positive and Suppression

I'm starting to use code contracts and trying to clear a false positive warning where code contracts is not recognizing the fact that the dependency property can be set to null and therefore is flagging that the conditional checks are unnecessary. I've attempted to set Contract.Assumes but that seems to enforce only the null case and ignore the non null case which causes it to miss the s

代码合同虚假肯定和压制

我开始使用代码合同,并试图清除错误的肯定警告,其中代码合同不承认依赖项属性可以设置为null,因此标记为不需要条件检查。 我试图设置Contract.Assumes,但似乎强制执行只有空情况,并忽略非null情况,导致它错过了第二个合同问题。 我该如何向合约提出建议:无效和无效的情况都是需要检查的可能性? 我也想过只是压制错误,但合同分析的输出信号设置并没有给我提供适当的信息来压制。 它只返回“warning:CodeContracts

Proving post conditions for code that does not implement Code Contracts

I'm learning how to design by contract by annotating my existing code with Contract.Requires() and Contract.Ensures() wherever I can. After fixing the warnings that were actually caused by me, I started to notice that many methods in the framework do not ensure their post conditions. This concerns me, because the static checker is now giving me false positives about possible violations of

为不执行代码合同的代码验证后置条件

我正在学习如何通过Contract.Requires()和Contract.Ensures()尽我所能注释我现有的代码。 修复了实际上由我造成的警告后,我开始注意到框架中的许多方法不能确保他们的发布条件。 这关系到我,因为静态检查器现在给我误报可能违反我的先决条件。 不实施代码合同的方法的一个例子: CultureInfo.GetCultureInfo(string) 正如文件所述: 空输入将导致不变的文化对象。 错误的输入将导致异常。 在任何情况下它都不会返

Code contracts static checking does not seem to be working

I am using VS 2010 and testing something real basic : class Program { static void Main(string[] args) { var numbers = new int[2]; numbers[3] = 0; } } I have gone to properties > Code Contracts and have enabled the static checking. No errors / warnings/squiggly underlines are showing on compile / build. EDIT: When turning the warning level to max I get this wa

代码合同静态检查似乎没有工作

我正在使用VS 2010并测试一些真正的基础: class Program { static void Main(string[] args) { var numbers = new int[2]; numbers[3] = 0; } } 我去了属性>代码合同,并启用了静态检查。 在编译/编译时没有显示错误/警告/下划线。 编辑: 当把警告级别设置为最大时,我得到这个警告,这不是我之后的警告: 警告1 CodeContracts:调用方法'Main'将始终导致错误。 如果这是需

Why CodeContracts Static Analyzer doesn't make warnings?

I have several user controls, that are subscribed to the event handler in another class. I'm learning CodeContracts in C#, and I wonder, why does Static Analyzer allows writing code like this: void MyUserControl_MouseEnter(object sender, MouseEventArgs e) { MyUserControl item = sender as MyUserControl; item.DoSomething(); // I expect some warning here, because item can be null

为什么CodeContracts静态分析器不会发出警告?

我有几个用户控件,订阅了另一个类中的事件处理程序。 我在C#中学习CodeContracts,我想知道为什么静态分析器允许编写如下代码: void MyUserControl_MouseEnter(object sender, MouseEventArgs e) { MyUserControl item = sender as MyUserControl; item.DoSomething(); // I expect some warning here, because item can be null sender.Equals(testObject); // This doesn't yield warning either } 这里我

CodeContracts issue

Hello I have a little issue regarding CodeContracts. I have a class library project which as a class with a method foo(string s1, string s2); inside the foo method, I have a Contract.Requires(s1 != null). So if I understand the meaning of my code (yes, I just installed CodeContracts and playing with :), the contract will check the s1 != null expression during build process and in runtime, thro

CodeContracts问题

你好,我有一个关于CodeContracts的小问题。 我有一个类库项目作为一个类的方法foo(字符串s1,字符串s2); 在foo方法中,我有一个Contract.Requires(s1!= null)。 所以,如果我理解我的代码的含义(是的,我刚刚安装了CodeContracts并使用:),合同将在构建过程和运行时检查s1!= null表达式,并引发ArgumentException>。 我想测试行为,当我从类lib项目中调用foo(null,“test”)时,设计者告诉我这个问题,但是当我

Is this a bug in the Code Contracts rewriter?

I am experimenting with .NET Code Contracts. The following code runs just fine when runtime contract checking is turned off, but fails when runtime contract checking is turned on: using System.Collections.Generic; using System.Diagnostics.Contracts; namespace ConsoleApplication1 { public class Item<T> where T : class { } public class FooItem : Item<FooItem> { } [Contra

这是代码合同重写器中的错误吗?

我正在尝试.NET代码合同。 下面的代码在运行时契约检查关闭时运行得很好,但在启动运行时契约检查时失败: using System.Collections.Generic; using System.Diagnostics.Contracts; namespace ConsoleApplication1 { public class Item<T> where T : class { } public class FooItem : Item<FooItem> { } [ContractClass(typeof(ITaskContract<>))] public interface ITask<T> wher

Best practices for global resources in c#

When we want to make our application for all users(speak different languages),We need a global technology. In C# we use ResourceManager as follow: using System; using System.Reflection; using System.Resources; public class Example { public static void Main() { // Retrieve the resource. ResourceManager rm = new ResourceManager("ExampleResources" ,

全球资源在c#中的最佳实践

当我们想要为所有用户提供应用程序(说不同的语言)时,我们需要一种全球技术。 在C#中,我们使用ResourceManager如下: using System; using System.Reflection; using System.Resources; public class Example { public static void Main() { // Retrieve the resource. ResourceManager rm = new ResourceManager("ExampleResources" , typeof(Example).Assembly);