【对象初始化的完整过程(C#)】教程文章相关的互联网学习教程文章

c# – 何时初始化“常量”类变量【代码】

我有一个常量int变量定义为类变量: 我的课程定义如下:public class ABC : XYZ {private const int constantNumber = 600;public ABC(): base(constantNumber){}}它在调用基础构造函数时(即在调用它自己的构造函数之前)是否可用? 什么时候定义?解决方法:即使没有初始化课程,它也可用!基本上,在使用常量的任何地方,编译器都会内联该值. 例如:public class Constants {public const int Foo = 10;static Constants(){Console.Wr...

初始化C#的geckoWebBrowser异常【代码】

我的程序如下引发异常. Program.cs如下:static void Main(){Gecko.Xpcom.Initialize("D:\\xulrunner\\");Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}Form1.cs如下:private void Form1_Load(object sender, EventArgs e){//Gecko.Xpcom.Initialize("D:\\xulrunner\\");geckoWebBrowser1.Navigate("http://www.google.com");}翻译自中文,例外情况如下...

c# – Mapper已初始化【代码】

我有一个3层架构Web Api解决方案,里面有3个项目:数据,业务和表示层.我需要在两个业务和表示层中初始化两个不同的映射器. 我已经创建了一个静态类和方法来初始化业务逻辑中的一个映射器:using AutoMapper; using Shop.BLL.DTOModels; using Shop.DAL.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Shop.BLL.InitMapper {public static...

c# – 自动映像为T类型初始化【代码】

我想要通用方法从数据库中获取数据并传递输出数据应该如何的模型. 我写了简单的方法:public IEnumerable<T> GetUsers<T>() {Mapper.Initialize(cfg =>cfg.CreateMap<IQueryable<User>, IQueryable<T>>());return OnConnect<IEnumerable<T>>(db =>{return db.Users.ProjectTo<T>().ToList();}); }现在我希望我能做到这一点:var users = repo.GetUsers<UserViewModel>(); // it should be IEnumerable<UserViewModel> var anotherU...

c# – 在Mono上使用TimerManager的类型初始化程序抛出异常

我在尝试创建NamespaceManager以在Service Bus实例中创建Queue时遇到此异常. TimerManager的类型初始化程序抛出异常 我已经读过,Linux上没有CreateWaitableTimer,但它让我想知道其他人是如何设法使用Mono在Linux上运行Service Bus Queues的. PS.我正在使用WindowsAzure.ServiceBus nuget库.解决方法:针对Azure IoT SDK提出了一个已知问题,但基本上链接到类似的性质,因为两个SDK都在内部使用CreateWaitableTimer Github的问题链接

显式和非显式C#类初始化程序的区别【代码】

参见英文答案 > Initializer syntax 2个> Nested object initializer syntax 1个这两个类初始值设定项之间产生的差异是什么?在C#中,两者似乎都是语法正确的.第二个是第一个的快捷方式吗?Class1 class1 = new Class1() {Boolean1 = true,Class2Instance = new Class2{Boolean2 = true,}, };和Class1 class1 = new Class1() {Boolean1 = true,C...

c# – 当我访问它时,为什么我的初始化静态属性为null?【代码】

我有以下代码(从实际代码中提取)public static class AssemblyLogger {public static Lazy<Window> Window { get; } = new Lazy<Window>(NewWindowHandler);public static IScheduler Scheduler =>new DispatcherScheduler( Window.Value.Dispatcher );}当我调用Scheduler时,我得到一个NullReferenceException.我看到调试器停止了据我所知,这应该是不可能的.窗口是静态初始化和只读的,因此任何对它的进一步访问应该只是get,它永远不...

程序启动时C#实例化/初始化对象

我是一名最近在C#工作的C/C++程序员,我正在尝试做一些花哨的初始化工作,我遇到了一些麻烦. 我想出的最好和最简单的例子就是我想要创建一个“Eager”Singleton – 一个在程序启动时立即创建的,但是我不需要进入程序的主要功能并说“Singleton. Instance()“作为第一件事.我读了静态实例化,看起来它必须在实例化静态对象之前调用或创建,所以我尝试创建一个实例化对象的静态变量,但这不起作用. (我找不到任何关于何时实例化/初始化静...

c# – 完全初始化的类【代码】

我在课堂上使用initiazling属性我想在完全初始化后运行验证方法.由于显而易见的原因,我无法使用构造函数.有没有办法在某种类初始化事件中做到这一点?var t = new Foo{foo = "";}class Foo {public string foo {get; set;}...public bool validate {get ; set;}private void validation(){if(foo == "")validate = false;if ...}}解决方法:您可以向属性添加验证逻辑.验证在分配属性后是否初始化类,如果初始化完成,则引发静态事件.您...

使用Reflection模仿C#数组初始化程序行为

使用ILDasm对一些C#代码进行反向工程,我发现编译器使用System.Runtime.CompilerServices.RuntimeHelper.InitializeArraymethod来初始化包含基本类型的几个常量值的数组. 看起来它为每个数组大小创建一个特殊的结构,以字节为单位,并用[StructLayout]属性标记它.这非常简单.但是有一个包含实际数据的类型的字段.如何根据Reflection.Emit创建这样的字段并用任意字节填充它?解决方法:我认为你使用ModuleBuilder.DefineInitializedData...

c# – Identity 2.0用户标识在MVC 5控制器初始化程序中为空【代码】

我有一个使用Asp.Net Identity 2.0的MVC 5项目.我也在使用通用的存储库模式.作为数据库模式的一部分,我有各种表的字段,用于存储插入/更新/删除用户的用户ID.因此,我想将用户对象或用户id至少传递给修改记录时要使用的通用存储库. 但是,由于我无法直接在存储库类中访问该标识,因此我尝试在存储库实例化时传递它.它看起来像这样:using System.Data.Entity; using System.Threading.Tasks; using System.Net; using System.Web.Mvc; ...

C# – 为什么我需要初始化[Out]参数【代码】

我使用以下语法从本机.dll导入了几个方法:internal static class DllClass {[DllImport("Example.dll", EntryPoint = "ExampleFunction")]public static extern int ExampleFunction([Out] ExampleStruct param); }现在,因为我将param指定为[Out],我希望以下代码段中至少有一个有效:ExampleStruct s; DllCass.ExampleFunction(s);ExampleStruct s; DllCass.ExampleFunction([Out] s);ExampleStruct s; DllCass.ExampleFunction(o...

c# – 我想在EST中初始化DateTime,然后转换为Universal TIme【代码】

我想在东部标准时间初始化DateTime,然后转换为通用时间. 我有一个DateTime(CurrentDT),其TimeZone未设置,但它在EST中.它是从下面的sting解析的“ddd, d MMM yyyy H:mm:ss”我写了以下代码来解决问题.TimeZoneInfo currentTimeZone=null;currentTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); CurrentDT=TimeZoneInfo.ConvertTime(CurrentDT, currentTimeZone);CurrentDT = CurrentDT.ToUniversal...

c# – Dapper:ConnectionString属性尚未初始化【代码】

我第一次和Dapper一起玩.看起来像一个非常方便的小工具.但我遇到了一个问题.在下面的小控制台应用程序中,第一个方法按预期运行.但是第二种方法返回此错误:An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.Data.dllAdditional information: The ConnectionString property has not been initialized.我可以改变方法的顺序并得到相同的结果.它总是在第二次调用时得到错误.不知道我做错了什...

C#中的继承:创建一个用超类实例的值初始化的实例【代码】

我很确定这是不可能的,但是这里…… 我在C#中有一个名为Person的自定义类,它有一些属性,如Age,Height等. 然后我创建一个名为Employee的新类,它继承自Person,但我还没有向Employee添加任何其他属性.所以它基本上只是一个人,除了它被称为员工. 现在说我有一个名为SomePerson的Person实例.如何创建一个新的Employee实例,该实例具有从Person继承的所有值,设置为SomePerson中的值.就像从Person转换为Employee一样..但是我不必手动指定需...