【如何在C#中调用方法中的构造函数】教程文章相关的互联网学习教程文章

在C#构造函数初始值设定项中使用默认属性值【代码】

考虑以下类别:class Foo {public string Bar { get; set; } = "foobar"; }这段代码:var foo = new Foo {Bar = bar == null? null: bar };显然,执行此代码后Bar的值将为null(假设bar = null). 我希望构造函数初始值设定项在给定情况下使用默认属性值(例如,当bar为null时).我想知道是否有更简单的方法来代替使用:if (bar == null) {foo = new Foo(); } else {foo = new Foo { Bar = bar }; }要么foo = new Foo(); if (bar != null...

c#-构造函数注入Autofac的InstancePerDependency的生存期

我对依赖生存期的概念很陌生.我已经阅读了有关different lifetime types的文档. 对于InstancePerDependency,是默认值.该页面讨论如何在Lifetimescope中进行解析,以便容器可以正确处理它.我能理解 但是,当Autofac通过构造函数自动注入依赖项时该怎么办.网络请求完成后,容器仍保留引用吗?解决方法:This documentation帮助.Note that with Autofac integration libraries standard unit-of-worklifetime scopes will be created and ...

c#-当基类未定义构造函数时,如何覆盖方法【代码】

我试图从作为第三方DLL的基类中重写一个方法. 我有一个例外:the type ‘B’ has no constructors defined.有没有办法重写派生类中的方法? 下面的代码段.Public Class A : B {Public A(){} // method to override from Class Bpublic override object BaseMethod() {} }我还检查了The type ‘…’ has no constructors defined,但它不是在谈论继承,而是在新建实例. Inherit an abstract class without any constructor解释说...

c#-返回属性的另一个类有什么好处,而不是在构造函数中设置该属性?【代码】

我的问题专门涉及用另一个类中的某个值初始化属性而不是简单地让属性获得值的好处(或相反). 例如,执行以下操作:public class Foo {public object Bar { get; }public Foo(){Bar = OtherClass.Bar;} }与该实现相比有任何实际优势:public class Foo {public object Bar { get => OtherClass.Bar; } }我之所以问是因为,我认为第二个实现更容易阅读,而且显然更简洁,但是我不知道除了行数之外,两者之间是否还有可测量的差异. 我可以找...

C#类型成员:构造函数【代码】

一、构造函数构造函数是类的特殊方法,它永远不会返回值(即使是void),并且方法名和类名相同,同样支持重载。在使用new关键字创建对象时构造函数被间接调用,为对象初始化字段和属性的值。无参构造函数即默认构造函数,在我们没有创建任何构造函数时,编译器会为我们创建一个默认构造函数,反之当我们创建了任何构造函数,编译器不会为我们创建默认构造函数。下面我们设计一个无构造函数的空调类,一个无默认构造函数的空调类和一...

Java BigDecimal,相当于C#的Decimal(int [] bits)构造函数【代码】

我试图将包含使用C#应用程序生成的数据的输入缓冲区(字节数组)转换为java数据类型.我对C#的Decimal dataType有一些问题. C#示例:decimal decimalValue = 20.20M; //converting a Decimal value to 4 integer vlaues int[] intPieces= Decimal.GetBits(decimalValue); //{2020,0,0,131072} //using native constructor to rebuild value Decimal newDecimalValue = new decimal(intPieces); //20.20 Console.WriteLine("DecimalVal...

C# 构造函数中调用虚方法的问题【代码】

原文链接:http://www.cnblogs.com/jmax/p/3181323.html请看下面代码:using System;public class A{public A(){M1();}public virtual void M1(){} }public class B : A{private string _method;public B(){_method = "B_C";}public override void M1(){Console.WriteLine("Type:{0}, in B, {1}",GetType(), _method.ToUpper());} }public class VirtualDemo{public static void Main(string[] args){var b = new B();} } 也许有些...

C# – 静态类,私有构造函数,抽象类 – 都阻止实例创建 – 使用哪一个?【代码】

我对Static类,Private构造函数和抽象类的使用感到困惑 防止实例创建.(对备选方案感到困惑). 什么是最适合每种情况的方案?解决方法:这取决于您的需求. >静态类可以被认为是“一堆方法” – 你会使用它,如果你只需要对一些方法进行分组,样本用法:MathHelpers,使用Sin,Cos,ConvertXToY(或主机扩展方法)等方法.>私有构造函数 – 当您希望能够控制对象的创建方式时,您将使用此构造函数,例如,如果要确保这些对象只能由静态方法创建.一个...

c# – 带参数的UserControl构造函数【代码】

我的问题是当我想使用带参数的UserControl时. 它调用构造函数(没有参数的构造函数和带参数的constroctor) 这是正常情况吗? 如果没有,我应该如何构造对象.public partial class FreeExperience : Arche.Web.UI.UserControlBase {private ItemInfo itemInfo;public FreeExperience() : base(){}public FreeExperience(ItemInfo itemInfo) : this(){this.itemInfo = itemInfo;}在这里我做了简单的userControl, 并在另一页上像这样调用...

c#中的动态类构造函数【代码】

我有一个类有2个属性,名为MinValue,MaxValue,如果有人想要调用这个类并实例化这个类,我需要一些允许选择MinValue或Max Value或它们两者的构造函数,它们的MinValue和MaxValue都是INT,所以构造函数不允许我这样:public class Constructor {public int Min { get; set; }public int Max { get; set; }public Constructor(int MinValue, int MaxValue){this.Min = MinValue;this.Max = MaxValue;}public Constructor(int MaxValue){th...

如何在C#中调用方法中的构造函数【代码】

情景是Hide the constructor of BankAccount. And to allow construction ofBankAccount, create a public static method called CreateNewAccountresponsible of creating and returning new BankAccount object onrequest. This method will act as a factory of creating newBankAccounts.我使用的代码就像private BankAccount() {///some code here }//since the bank acc is protected, this method is used as a factory to ...

c# – 理解构造函数【代码】

我有这段代码:public class Time2 {private int hour;private int minute;private int second;public Time2(int h = 0, int m = 0, int s = 0){SetTime(h, m, s);}public Time2(Time2 time): this(time.hour, time.Minute, time.Second) { }public void SetTime(int h, int m, int s){Hour = h;Minute = m;Second = s;}除了这部分,我理解了一切:public Time2(Time2 time): this(time.hour, time.Minute, time.Second) { }你能告诉...

c# – 在.NET Standard / Core中获取构造函数列表的等价物是什么?【代码】

我正在尝试将我的.NET 4项目升级到.NETStandard和Core,但无法找到相应的: – var ctors = typeof(T).GetConstructors();GetConstructors是反思的一部分,所以看起来支持是故意缺乏或移动的…… 谢谢.西蒙.解决方法:在.NET标准/核心中,很多reflexion api被移动到特定的包(system.reflection).此包在Type类上提供了扩展方法GetTypeInfo.typeof(T).GetTypeInfo().DeclaredConstructors;

c# – LINQ作为动作的短构造函数【代码】

使用linq我可以创建这样的查询XElement.Elements("...").Select(x=> useX(x));现在因为x只创建一个包装器Action而useX的参数是XElement,你可以像这样使用它:XElement.Elements("...").Select(useX);但是当我有一个具有匹配类型的构造函数的类型,即MyClass(XElement元素)时,我必须使用:XElement.Elements("...").Select(x=> new MyClass(x));我的问题:有没有办法以上面的方式缩短对象的构造,但是有一个构造函数?我想象过这样的事...

c# – 即使多次调用类,如何使构造函数只被调用一次?

默认情况下,每当调用类时都会调用构造函数,如何在不使用静态构造函数的情况下仅调用一次?解决方法:静态构造函数每个类只调用一次.每次创建类的实例时都会调用实例构造函数.对我来说,目前还不清楚为什么你不能使用静态构造函数.

构造函数 - 相关标签