【c# – 即使多次调用类,如何使构造函数只被调用一次?】教程文章相关的互联网学习教程文章

c# – 在调用基础构造函数之前处理参数【代码】

是否可以在将参数传递给基础构造函数之前处理它们? 如:A --> B其中A是抽象类,B是子类. A的构造函数是这样的:Protected A (MyObject myObject)B的构造函数是这样的:Public B (string objectName)我希望它是这样的Public B (String objectName) : base (MyObject myObject) { myObject = new MyObject (objectName); }解决方法:如果你想做一些非平凡的事情(它不能自然地适合你可以内联到基本调用中的单个表达式),那么唯一的方法是...

C#如何从公共构造函数中调用私有构造函数【代码】

我希望能够使用公共构造函数实现一个类,该构造函数默认调用私有构造函数,我认为它与下面的代码很接近,但事实并非如此.public MySQLConnector(): this MySQLConnector (ConfigurationManager.AppSettings["DBConnection"]){}private MySQLConnector(string dbConnectionString){//code}解决方法:你几乎得到了它.只需使用此(…),不使用类名:public MySQLConnector(): this(ConfigurationManager.AppSettings["DBConnection"]) { }这...

c# – 如何强制所有实现在其构造函数中调用特定方法【代码】

是否有可能在C#中指示构造强制调用实现方法?我创建了一个强制实现类来实现方法的接口.现在我想要所有实现类的构造函数调用此方法. 我知道我可以创建一个基类并在其构造函数中调用该方法,但我不能强制每个子类调用基类构造函数?解决方法:不,抽象类将是您的解决方法.public abstract class MyAbstract : IMyInterface {public MyAbstract(){MyMustCallmethod();}public abstract void MyInterfaceMember();//Let derived classes i...

C#如何使用构造函数中存储在变量中的classname创建新对象?【代码】

我在一个程序中有8个表单(和计数).我有这个重复的代码来实例化或带回每个表单的“可见”,并希望有一块模块化的代码,将执行此片段中显示的这些检查://Some form classes: Form f2 = new Form_DisplayCustomersList(); ...and other forms too... ///The code that I would like to modularize, so I don't have to repeat it for every form: private void button1_Click(object sender, EventArgs e) { //check f...

c# – ArgumentNullException:值不能为null.参数名称:构造函数【代码】

我正在使用EF 7构建一个ASP.NET 5 MVC应用程序.我有三个型号:书类:public class Book : IBook<MangaChapter>, IHasThumbnail, IBugChecker{public Book(){Chapters = new List<MangaChapter>();}[Key]public int ID { get; set; }[Required]public string Title { get; set; }[Required][DataType(DataType.MultilineText)]public string Description { get; set; }public string ThumbnailPath { get; set; }public virtual ILi...

c# – 使用Unity.Mvc5注入依赖项时的多个控制器构造函数【代码】

我对依赖注入非常陌生,我刚刚设置了Unity.Mvc5,并且取得了一些成功.但是现在我遇到了控制器类中多个构造函数的问题.我已经有了处理我的UserManager的构造函数和以下教程我理解我需要另一个构造函数来实例化我的接口.但是当我这样做时,我收到以下错误:The type OrganisationController has multiple constructors of length 1. Unable to disambiguate.来自我的控制器的片段:private IPush _pushMessage;// Here is the problem!p...

c# – 自定义NLog LayoutRenderer,带有使用依赖注入的构造函数【代码】

我正在尝试编写一个自定义的LayoutRenderer来记录从对象读取的数据,但似乎NLog在依赖注入时无法正常工作. 这是我的CustomLayoutRenderer:[LayoutRenderer("custom-value")] public class CustomLayoutRenderer : LayoutRenderer {private readonly RequestContext _context;public CustomLayoutRenderer(RequestContext context){_context = context;}protected override void Append(StringBuilder builder, LogEventInfo logEve...

c# – ASP.NET Core DI构造函数与RequestServices [复制]【代码】

参见英文答案 > What’s the difference between the Dependency Injection and Service Locator patterns? 13个> Is ServiceLocator an anti-pattern? 7个为什么通过HttpContext.RequestServices或IServiceProvider请求服务会考虑不好的做法.我可以在这个地方读到这句话:It is recommended to use constructor injection instead of getting ...

c# – 基于条件的继承构造函数选择【代码】

我有一组继承的类.根据初始化变量类型,我需要调用相应的构造函数.我想避免在这里使用switch分支,以防万一武器类型会越来越多.也许有通用的方法或一些模式来实现这一目标?武器初始化:switch (_weaponsData.WeaponType) {case WeaponType.ProjectileWeapon:weapon = new ProjectileWeapon(_weaponsData);break;case WeaponType.Laser:weapon = new LaserWeapon(_weaponsData);break;case WeaponType.snowBall:weapon = new Snowba...

c# – 在Visual Studio 2010中遇到问题,更改资源是将构造函数设置为内部

在开发Silverlight应用程序和使用项目资源(.resx)时,我遇到了Visual Studio 2010的一些奇怪行为 每次我更改资源时,它都会在后面的代码中将自己设置为内部而不是公共,尽管我可以在设计模式中看到它设置为公共它不是. 知道如何解决这个问题吗? 我不知道这是否只影响Silverlight项目或一般所有C#项目.解决方法:此链接可能有所帮助. http://blogs.msdn.com/b/silverlight_sdk/archive/2010/09/08/ach-du-lieber-a-tour-of-some-locali...

c# – 如果在构造函数中设置DataContext,如果我在调用InitializeComponent()之前或之后设置它是否重要?

我有一个WPF窗口,它在它的构造函数中有一些参数.然后我使用这些构造函数来设置窗口的状态.该构造函数进程的一部分是实例化我的视图模型类,然后将其设置为windows DataContext. 我的问题是,在调用InitializeComponent()之前或之后,我应该何时将DataContext设置为等于我的视图模型对象? 我问,因为如果我事先设置它,那么我需要手动启动窗口初始化后执行的代码,因为某些事件应该在分配或重新分配DataContext时触发. 如果我在调用Initi...

c# – 针对某些情况,使用StructureMap将不同的对象注入构造函数【代码】

我有IRepository< T> ,并实现SqlRepository< T>. SqlRepository在构造函数中有DataContext参数. SM配置如下所示:x.ForRequestedType(typeof(IRepository<>)) .TheDefaultIsConcreteType(typeof(SqlRepository<>));x.ForRequestedType<DataContext>().CacheBy(InstanceScope.Hybrid) .TheDefault.Is.ConstructedBy(()=>{var dc = new FirstDataContext();dc.Log = new DebuggerWriter();return dc;});但是对于构建IRepository< Spe...

c# – 是否可以使用open generic作为构造函数参数?【代码】

我创建了一个非常简单的事件发布者,它看起来像这样.public class EventPublisher {private readonly IList<Func<IHandle>> _subscribers;public EventPublisher(IList<Func<IHandle>> subscribers){_subscribers = subscribers;}public void Publish<TPayload>(TPayload payload)where TPayload : class{var payloadHandlers = _subscribers.OfType<Func<IHandle<TPayload>>>();foreach (var payloadHandler in payloadHandlers){p...

c# – 如何使用Autofac在构造函数中注入特定的实现【代码】

我有两个类,它们将ILastActivityUpdator作为构造函数参数:UserService和AnonymousUserService.public AnonymousUserService(ILastActivityUpdator lastActivityUpdator) {if (lastActivityUpdator == null){throw new ArgumentNullException("lastActivityUpdator");}this.lastActivityUpdator = lastActivityUpdator; }和UserService类似,如上所述:public UserService(ILastActivityUpdator lastActivityUpdator) {if (lastActi...

c# – 可以将TypeConverter用于构造函数参数【代码】

我正在尝试写一个像这样的markupextension:[MarkupExtensionReturnType(typeof(Length))] public class LengthExtension : MarkupExtension {// adding the attribute like this compiles but does nothing.public LengthExtension([TypeConverter(typeof(LengthTypeConverter))]Length value){this.Value = value;}[ConstructorArgument("value")]public Length Value { get; set; }public override object ProvideValue(IServic...

构造函数 - 相关标签