【c# – 通过接口进行静态属性访问】教程文章相关的互联网学习教程文章

C#反射从接口获取具体类的静态属性【代码】

我有一个界面:interface IInterface {string Name { get; } }由通用抽象类实现:public class BInterface<T> : IInterface {static BInterface() { // Or anything that would be implementation class specificName = typeof(BInterface<>).GetType().Name; }public static string Name { get; private set; }string IInterface.Name { get { return Name; } } }依次在具体的类中实现:public class CInterface : BInterface<i...

c#-ASP.Net中基于会话的静态属性将在所有用户之间共享吗?【代码】

对于以下两个静态属性,这两个属性将在ASP.net网站中的所有用户之间共享吗?似乎Property2将在ASP.Net网站的所有用户之间共享,但不确定Property1.public static object Property1 { get { return HttpContext.Current.Session["some_key"]; } set { HttpContext.Current.Session["some_key"] = value;} }public static object Property2 { get;set;}解决方法:Property1仅在用户当前会话的范围内.静态部分没有改变,因为它只是指向用...

c#-使用静态属性的StringLengh数据注释【代码】

我想在实体上使用StringLength属性,但是要使用静态属性,而不是使用文字或常量. 例如[StringLength(MyClass.MyStaticProperty)] public string Code { get; set; }但是,这导致以下错误…An attribute argument must be a constant expression, typeof expressionor array creation expression of an attribute parameter type…除了使用字符串文字或常量以外,还有没有其他解决方法或替代方法? 如果您想知道为什么要使用静态属性?静...

是否有可能在C#中知道谁调用了静态属性/访问器?【代码】

我的代码:public class CLASS_A { public static Dictionary<int, CLASS_A> List = new Dictionary<int, CLASS_A>; public static PP_CLASS pp = null;public static CLASS_A ID{get{int key = get_threadID;if (List.ContainsKey(key))return List[key];elsereturn null;}set{int key = get_threadID;List[key] = value;}}public virtual void init(lib, name){...if (name != ""){if (pp == null)PP = this;} ...} } 所以无...

c# – 为什么我要创建一个具有所有静态属性的公共类?【代码】

我注意到在我正在使用的当前代码库中,以前的开发人员有几个公共类,它们不从任何其他类继承但是充满了静态属性.这是创建结构或枚举的另一种方式吗?这是一种可以引用静态数据的旧技术还是更新技术?我觉得看到以这种方式构建的类很奇怪/不同但是我想知道Stack Overflow社区对这个程序员想要完成什么的感觉. 编辑添加一个例子public class Deal{public Deal() { }public static decimal Fee{get { return (decimal)25; }}public stat...

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# – 通过接口进行静态属性访问【代码】

老实说,我怀疑这是解决这个问题的最佳方法,但我有一个如此定义的接口:public interface INamed {string ExportName { get; } }实际上我希望这些人都是静态的,但事实证明你不能在接口中拥有静态成员声明.所以为了解决这个问题,我实现了这样的接口:public class TestClass : INamed {public string ExportName {get { return "Export Name"; }} }我会通过做这样的事情去寻找这些人:public class Selector<T> where T: new(), INam...

C#定义属性-静态属性

C#定义属性-静态属性 2012年06月27日 08:57:00 weixin_34198583 阅读数:11 C#静态属性可以是读写属性,只读属性,只写属性中的任意一种。也就是说,静态属性可以同时包含set访问器和get访问器,也可以只包含其中一种。 静态属性定义方式就是在属性前加static关键字,语法如下: <访问修饰符> static 数据类型 属性名 { get{} set{} } 静态访问器适用于整个类,而不是类的实例。静态属性中的set{},get{}访问器只能访问类的静态成员...