【通过C#中的实例直接连接】教程文章相关的互联网学习教程文章

c# – 具有公共(单实例)构造函数的Singleton

作为练习,我正在将我们庞大而且经过强化的Delphi框架的一部分翻译成C#. 此框架中包含一个通用的单例父类.当然,在C#中实现单例是相当容易的(甚至有一篇Jon Skeet文章,所以我还希望如此),但我们的Delphi单例对模式的看法略有不同:与发布’实例’相反property / method,它有一个“伪”构造函数,它总是返回相同的实例.这种方法的基本特征是单例类的用户不知道他正在处理单例:据他们所知,他们只是构建任何旧类并从中请求一些信息. 我想...

C#反射和实例化 – 有没有办法做Activator.CreateInstance(myType){X = x}?【代码】

我不确定这种代码的术语,但我想知道是否可以在括号后实例化变量,但是在使用反射时. 我有一个从XML文件加载的地图.这是(int X,int Y,string S)的集合,其中X,Y是某个地形的位置,S是表示地形类型的字符串.我有一个字典在字符串和相关类型之间传递;例如,一个键值对可能是“Tree”,typeof(Tree). 当使用反射时,虽然我知道可以用参数进行实例化,但我唯一的方法就是使用Activator.CreateInstance(Type t),即使用空构造函数. 当我对地图进行...

如何在不创建实例的情况下从C#类调用静态方法【代码】

我有这样的代码:class Program{static void Main(string[] args){Assembly myAsm = Assembly.LoadFile(@"c:\Some.dll");Type myService = myAsm.GetType("SomeClass");String s = (String) myService.InvokeMember("SomeMethod", BindingFlags.InvokeMethod | BindingFlags.Public,null, null, new object[] {"MyParam"});}}在Some.Dll中有公共静态方法SomeMethod和String param返回String但我得到方法缺少错误…解决方法:您缺少...

c# – 将类实例化为变量【代码】

在编写功能相同的代码的这两种方式之间,性能方面是否存在差异? 选项1:SomeObjecModel TheObjectModel = new SomeObjectModel(); return TheObjectModel.SomeMethod();选项2:return new SomeObjectModel().SomeMethod();在选项1中,对象被实例化为变量,而在选项2中,没有变量.我只是好奇是否有任何区别. 谢谢.解决方法:生成的IL代码有所不同:Option1: IL_0000: newobj UserQuery+SomeObjectModel..ctor IL_0005: stloc.0 ...

在C#中实例化IEnumerable数组【代码】

我想知道为什么你可以在C#中做到这一点: IEnumerable< int> [] nums = new IEnumerable< int> [10]; 但不能这样做: IEnumerable的&LT INT&GT nums = new IEnumerable< int>(); C#在第一个声明的基础上做了什么?我以为你无法使用new关键字创建接口实例.解决方法:第一个语句是创建一个大小为10的新数组,其中项类型为IEnumerable< int>.数组本身是您可以创建的具体类型. 要在此数组中设置项目,您可以执行以下操作:num[0] = new Li...

c# – 如何获得* actual *主机应用程序实例?【代码】

我在VBE的C#加载项中有这个代码(强调“VBE”:它不是MS-Office加载项):public abstract class HostApplicationBase<TApplication> : IHostApplicationwhere TApplication : class {protected readonly TApplication Application;protected HostApplicationBase(string applicationName){Application = (TApplication)Marshal.GetActiveObject(applicationName + ".Application");}其中TApplication是MS-Office互操作应用程序类,例...

c# – 在其执行方法中访问Task实例【代码】

我想创建简单的无限循环,将作业提供给基于任务的作业池.此外,我想限制当时最大创建的任务(我知道任务计数不必等于线程数). 我有的是这个:private readonly HashSet<Task> m_runningTasks = new HashSet<Task>(); private const int QueueTaskCount = 10; //our target task count.... some method here ....while (m_run){IList<Job> jobs = null;lock(m_runningTasks){//determine missing job count heretargetCount = QueueTas...

c# – 创建接口子类的实例【代码】

我有接口和3个派生它的类,但是如何为每个类型使用1个变量?public interface IBuilder<T> where T: System.IConvertible{}public class SimpleBuilder : IBuilder<SimpleCollagePatterns>{}public class CreativeBuilder : IBuilder<CreativeCollagePatterns>{}public class ShapeBuilder : IBuilder<ShapeCollagePatterns>{}我需要在必要时创建类的实例 我有IBuilder< IConvertible> currentBuilder变量,但我无法创建任何Builder...

c# – Protobuf-net:无法创建抽象类的实例【代码】

根据这里找到的代码: – how to serialize / deserialize?' rel='nofollow' target='_blank'>protobuf and List – how to serialize / deserialize?我创建了一个通用的“ProtoDictionary”,其值类型为ProtoObject. 这是我的ProtoDictionary代码:public class ProtoDictionary<TKey> : Dictionary<TKey, ProtoObject> {public void Add(TKey key, string value){base.Add(key, new ProtoObject<<string>(value));}public void Ad...

c# – 使用反射和锁定正确地实例化分配给私有静态volatile变量的类【代码】

所以这是一个我想要改进或确认的人为例子. 我正在使用(我/我)BATIS.NET(一个轻量级的ORM /数据映射器框架),我所拥有的是一个类,它为数据库的每个表映射器提供静态引用.它工作得很好,但有很多重复,我认为可能有机会大大简化代码.该类目前看起来像这样:public sealed class MyRepository {private static string _connectionString;private volatile static TableAbcMapper _tableAbcMapper;private volatile static TableXyzMapper...

c# – XMLWorker异常:未将对象引用设置为对象的实例【代码】

我想将html导出为pdfvar document = new Document();PdfWriter pdfWriter = PdfWriter.GetInstance(document, new FileStream("/my.pdf", FileMode.Create)); pdfWriter.SetFullCompression();pdfWriter.StrictImageSequence = true;pdfWriter.SetLinearPageMode();var sr = new StringReader(htmlcode); document.Open();var k = XMLWorkerHelper.GetInstance(); k.ParseXHtml(pdfWriter, document, sr); //here it gave me an ex...

c# – 如何在重新加载场景时让我的Singleton MonoBehaviour类的实例以新的方式启动?【代码】

我有一个’SingletonManager’类,带有’LevelManager’单例的实例(以及它的接口). ‘LevelManager’GameObject不应该在整个应用程序生命周期中持久存在,并且每次加载新级别时都应该用新实例替换. 在运行我当前的代码时,当第二次加载场景时,尽管游戏对象(附带脚本)在场景中,但“LevelManager”似乎丢失了.我意识到这可能是因为我仍在尝试访问旧的引用. 每次加载新级别时,确保我的’SingletonManager’保存’LevelManager’的新实例的...

c# – quartz.net中JobBuilder的Create方法中的类实例【代码】

JobBuilder的默认创建方法是IJobDetail paymentJob = JobBuilder.Create<Hello>().WithIdentity(jobName, groupName).Build();我检查了重载但是没有重载我们可以在里面有一个类的实例.创建方法.像这样的东西IJobDetail paymentJob = JobBuilder.Create<new Hello()>().WithIdentity(jobName, groupName).Build();但这会给出错误Operator < cannot be applied to the ‘method group’ or ‘Hello’我需要这个的原因是:public abst...

单例的通用抽象基类(C#) – 无法实例化私有Lazy实例【代码】

我目前有一个6或7个单例的集合,所有这些单体几乎完全相同(参见下面示例中的For方法)但是使用不同的内部数据库查询并返回不同对象的集合(因此解析数据库结果是每个单身人士都不同). 因此,使用this question作为我的基础,我一直在尝试在C#中为这些单例构建一个抽象的通用基类. 在SO上有similar questions但没有实现Lazy,我希望如此. 到目前为止,我有这个public abstract class SingletonBase<T> where T : class, new() {private sta...

跟踪C#中的实例?

参见英文答案 > When debugging, is there a way to tell if an object is a different instance? 3个有没有办法在调试时跟踪Visual Studio中C#/ .NET中的单个实例?我发现它有时会非常有用. 查看它的另一种方法是实例上的断点而不是代码.因此,每次访问和/或修改我的实例时,执行都会停止,并且我会看到访问/修改我的实例的代码行. 在C中,等价将监视实例所在的内存块,或者仅仅是指向实例的指针.这...

实例 - 相关标签