草庐IT

MODE_PRIVATE

全部标签

c# - 结构的私有(private)字段值未使用异步方法更新

我刚刚在结构中使用异步方法时遇到了一个奇怪的行为。有人可以解释为什么会发生这种情况,最重要的是是否有解决方法?为了演示问题,这里有一个简单的测试结构publicstructStructure{privateint_Value;publicStructure(intiValue){_Value=iValue;}publicvoidChange(intiValue){_Value=iValue;}publicasyncTaskChangeAsync(intiValue){awaitTask.Delay(1);_Value=iValue;}}现在,让我们使用该结构并进行以下调用varsIns

c# - 私有(private)嵌套静态类 - 好的还是坏的做法?

将私有(private)静态类嵌套在非静态类中会被认为是一种不好的做法吗?publicclassOuter{privatestaticclassInner{}}这里的想法是“Outer”的所有实例都将共享对静态的访问。另一种方法可能是让内部类成为非静态类并使用它的静态实例:publicclassOuter{privatestaticinnerInstance=newInner();privateclassInner{}}类似的效果。这种方法的优点/缺点或其他注意事项是什么?我必须承认我几乎从不使用嵌套类,无论是否是静态的,但我对这个特定概念很感兴趣.. 最佳

c# - Entity Framework : The context is being used in Code First mode with code that was generated from an EDMX file

我正在使用EF6数据库优先方法开发一个WPF应用程序,我的解决方案中有一个项目,如果我运行我的项目,这个错误总是出现。上下文在代码优先模式下使用,代码是从数据库优先或模型优先开发的EDMX文件生成的。这将无法正常工作。要解决此问题,请不要删除引发此异常的代码行。如果您希望使用数据库优先或模型优先,请确保EntityFramework连接字符串包含在启动项目的app.config或web.config中。如果您要创建自己的DbConnection,请确保它是一个EntityConnection而不是其他类型的DbConnection,并且您将它传递给采用DbConnection的基本Db

c# - 单元测试私有(private)代码

这个问题在这里已经有了答案:UnittestingprivatemethodsinC#(16个答案)关闭6年前。我目前正在使用C#进行开发-以下是一些背景信息:我们用我们的客户端应用程序实现MVP,并且我们有一个圈规则,该规则规定任何方法的圈复杂度都不应大于5。这导致了很多小的私有(private)方法,这些方法通常只负责一件事。我的问题是关于对类进行单元测试的:通过公共(public)方法测试私有(private)实现没问题......我在实现这个方面没有问题。但是……下面的情况呢:Example1.Handletheresultofanasyncdataretrivalreques

c# - 在静态方法中访问参数的私有(private)成员?

这段代码如何编译?operatorint中的以下代码可以访问MyValue类的私有(private)变量?为什么?classProgram{staticvoidMain(string[]args){Myvaluemy=newMyvalue(100);Console.WriteLine(my+100);Console.Read();}}publicclassMyvalue{privateint_myvalue;publicMyvalue(intvalue){_myvalue=value;}publicstaticimplicitoperatorint(Myvaluev){returnv.

c# - 我应该让我的私有(private)类方法静态化吗?

是否有将类中的私有(private)方法设为静态的最佳实践?我有一个有几种方法的类(class)。其中一些可以很容易地变成静态的,因为它们只是处理数据。我应该让它们保持静态还是保持原样?这更多是风格问题吗?是否有性能方面的考虑?编辑:Methodcanbemadestatic,butshouldit? 最佳答案 如果方法不访问任何类型的状态,那么它们应该是静态的。静态方法调用提供了优于实例方法的性能增益,并且静态方法的存在告诉future代码的读者调用此方法不会对该类型的当前实例的状态产生副作用。静态方法的性能提升来自于这样一个事实

c# - 如何访问嵌套类的私有(private)成员?

背景:我已经将(父)类E和嵌套类N封闭起来,并在E中包含多个N实例。在封闭的(父)类中,我正在做一些计算,并为嵌套类的每个实例设置值。像这样:n1.field1=...;n1.field2=...;n1.field3=...;n2.field1=...;...这是一个很大的eval方法(在父类中)。我的意图是——因为所有计算都在父类中(它们不能在每个嵌套实例中完成,因为它会使代码更复杂)——使setter仅对父类可用,而getter公开。现在有一个问题:当我将setter设为私有(private)时,父类无法访问它们当我将它们公开时,每个人都可以改变这些值C#没有友元概念我无法在构造函

c# - 我如何模拟私有(private)领域?

我真的是模拟的新手,正在尝试用模拟对象替换私有(private)字段。目前私有(private)字段的实例是在构造函数中创建的。我的代码看起来像...publicclassCache{privateISnapshot_lastest_snapshot;publicISnapshotLatestSnapshot{get{returnthis._lastest_snapshot;}privateset{this._latest_snapshot=value;}}publicCache(){this.LatestSnapshot=newSnapshot();}publicvoidFreeze

c# - 在仅由构造函数调用的私有(private)方法中分配只读变量的值

C#编译器给我以下错误CS0191:无法将只读字段分配给(构造函数或变量初始值设定项中除外)我是否必须将代码(在我的私有(private)函数中)移动到构造函数中?这听起来很尴尬。请注意,私有(private)方法仅供构造函数调用。我希望有某种属性可以用来标记相应的方法。 最佳答案 不管其他帖子怎么说,是实际上有一种(有点不寻常的)方法来做到这一点并在方法中实际赋值:publicclassFoo{privatereadonlystring_field;publicFoo(stringfield){Init(out_field,fie

c# - 将 json 反序列化为具有默认私有(private)构造函数的类的 C# 对象

我需要为后续类(class)反序列化json。publicclassTest{publicstringProperty{get;set;}privateTest(){//NOTHINGTOINITIALIZE}publicTest(stringprop){Property=prop;}}我可以像这样创建一个测试实例varinstance=newTest("Instance");考虑我的json类似"{"Property":"Instance"}"我应该如何创建Test类的对象,因为我的默认构造函数是私有(private)的,并且我正在获取Property为NULL的对象我正在使用New