【(C#.Net Core)使用反射从外部程序集实例化类】教程文章相关的互联网学习教程文章

c# – 如何在不实例化不必要的缓存对象的情况下填充MemoryCache?【代码】

MemoryCache类公开了一个名为.AddOrGetExisting的方法,它是一种线程安全的方法,如果存在则获取,如果它不存在则添加. 如果缓存的对象尚不存在,则此方法返回NULL.我想我理解这个的价值,因为它向用户提供关于它在缓存中的存在的反馈. 我的缓存解析器看起来像这样:private static T GetCachedCollection<T>(Guid cacheKey, Lazy<T> initializer) {return (T) (MemoryCache.Default.AddOrGetExisting(cacheKey.ToString(), initializer...

C#可以用公用静态类实现公用变量的跨form调用。一定注意dictionary是需要在类中实例化的,用new

public static class resultjson { public static string input; //注意全局变量要使用static public static string output; public static string body_part; public static string organ_list; public static string task_id; public static string status; public static int index_contour; public static Dictionary<string, int> num_slices = new ...

C#-工厂模式:确定具体的工厂类实例化?【代码】

我正在尝试学习模式,并且坚持确定工厂模式如何或在何处确定实例化类.如果我有一个调用工厂并发送给它的应用程序(例如,一个xml配置文件)来确定要采取的操作类型,那么解释配置文件的逻辑在哪里发生? 该工厂using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace myNamespace {public abstract class SourceFactory{abstract public UploadSource getUploadSource();}public class TextS...

c#-确保类只能由实例化它的线程使用【代码】

我创建了一个不是线程安全的类,如果假定是线程安全的,则可能导致错误.当我努力使我的类成为线程安全的时,我想使实例只能由一个线程使用.当前,我的实现是检查当前线程是否与用于在每个暴露点构造实例的线程相同.public class NotThreadSafeClass {private readonly int _creatorThreadId;public NotThreadSafeClass(){_creatorThreadId = Thread.CurrentThread.ManagedThreadId;}public string ExposedProp{get{AssertSameThread();...

c#-尝试实例化新的RSACryptoServiceProvider时出现“键集不存在”【代码】

我正在尝试自动化证书的部署,包括管理私钥上的权限.使用这个question,我整理了一些代码,这些代码应该更新证书的权限:public static SetPermissionsResult SetPermissions(X509Certificate2 certificate, string userName) {var account = new SecurityIdentifier(WellKnownSidType.NetworkServiceSid, null);using (var store = new X509Store(StoreName.My, StoreLocation.LocalMachine)){store.Open(OpenFlags.MaxAllowed);var ...

c#-在Unity3D实例化的UI元素之间创建导航

因此,在Unity3D中,我有一个脚本,该脚本读取数据库提供的JSON,并将每个字段转换为UnityEngine.UI InputField,以便用户可以编辑条目.该代码从字面上实例化了InputField预制. 问题是它们之间没有导航,如果我只按TAB或任何箭头键,焦点将不会改变,这不仅非常不友好,而且很烦人. 所以我的问题是,是否有一种方法可以在实例化实例时立即更改导航,还是应该直接为自己编写脚本. 提前致谢!解决方法:当然,您可以通过编程方式设置 http://docs....

c#-非实例化的预制件与实例化的预制件相比如何?【代码】

例 在Unity5中,假设名称为“ SomeObject”的GameObject作为预制存储在Assets / Resources / SomeObject.prefab中,我知道可以按如下方式创建预制的实例:GameObject prefab = Resources.Load<GameObject>("SomeObject"); GameObject instance = GameObject.Instantiate(prefab);一旦执行,实例GameObject将是原始“ SomeObject”预制件的副本,并将被放置在当前活动场景中,名称为“ SomeObject(Clone)”. 据我了解,GameObject预制件...

C#-使用反射实例化实现通用接口的类【代码】

我在业务逻辑程序集中具有以下内容:public class BusinessEntity {... }public class Customer : BusinessEntity {... }public interface IEntityManager <T> where T : BusinessEntity {T SaveData(T oData); }public CustomerEntityManager : IEntityManager <Customer> {Customer SaveData(Customer o){...} }由于种种显而易见的原因,我不得不通过反射将我的程序集加载到我的当前项目中,并实例化CustomersEntityManager.想象一...

使用monomac / c#实例化其他窗口【代码】

我一直在寻找这个问题的答案,虽然我意识到这可能很琐碎,但是答案却使我难以理解. 我需要显示第二个窗口(如果需要的话,单击菜单项即可启动).我完全知道如何使用winforms来做到这一点,但是我不确定monomac / NSWindow的含义是什么.我需要这样做:MyWindowClass myWindow = new MyWindowClass(); myWindow.Show();我可以找到的关于该主题的最佳信息是,以下方法应该起作用:MyWindowClass myWindow = new MyWindowClass(); myWindow.Ma...

在C#中,接口可以实例化吗?【代码】

我正在阅读here中的代码.我发现私有ITreeModel _model;在TreeList.cs中:namespace Aga.Controls.Tree {public class TreeList: ListView{#region Properties//...private ITreeModel _model;public ITreeModel Model{//...}//...} }ITreeModel是ITreeModel.cs中的接口:namespace Aga.Controls.Tree {public interface ITreeModel{/// <summary>/// Get list of children of the specified parent/// </summary>IEnumerable GetCh...

c#-对象实例化中的异常.初始化成员会怎样?

根据this文章,字段在构造函数执行之前初始化.但是,如果在构造函数中抛出异常怎么办?对象实例化将失败. 但是,初始化字段会发生什么?它们仍保留在内存中还是被立即垃圾回收?如果在构造函数中发生异常之前,有一个声明并初始化的非托管资源该怎么办.这种不受管理的资源会生存吗?解决方法:如果在构造函数中引发异常,则类型集合不会没有异常.运行GC时,如果无法从根目录项目访问该对象,则将其清理.如果由于初始化失败而没有引用该对象...

(C#.Net Core)使用反射从外部程序集实例化类【代码】

我目前正在尝试开发一种在外部项目中使用反射以编程方式运行测试类的方法.这是应该显示我的问题的简化代码块.string pathToDLL = @"C:\Path\To\Test\Project\UnitTests.dll"; IEnumerable<Type> testClasses = assembly.GetExportedTypes(); Type testClass = testClasses.First(); object testClassInstance = assembly.CreateInstance(testClass.FullName); 此代码引发以下异常:'assembly.CreateInstance(testClass.FullName)' ...

c#委托的声明、实例化和调用

class Program { static void Main(string[] args) { MyDelegateEvent delegateEvent = new MyDelegateEvent(); delegateEvent.Show(); Student student = new Student(); student.SayHi(); Console.ReadKey(); } } // 1.委托本质就是个类 // 2.继承自System.MulticastDelegate 特殊类-不能被继承 class MyDelegateEvent { ...

c#-防止从外部的第三类实例化在其外部的类中使用的内部类【代码】

具有以下结构:public class OuterClass {public InnerClass foo {get; private set}public OuterClass() {foo = new InnerClass()}public class InnerClass {sometype somevar;public InnerClass()} }这样如何限制对第三类的内部类构造函数的访问:OuterClass outerclassinstance = new OuterClass(); outerclassinstance.foo.somevar; // allowed OuterClass.Innerclass innerclassinstance = new Outerclass.InnerClass(); // n...

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

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