草庐IT

static成员

全部标签

c# - 为什么C#中没有const成员方法和const参数?

与C++不同,C#中没有任何常量成员方法和常量参数。这是什么原因? 最佳答案 首先,不要求我们提供不实现某项功能的理由。功能非常昂贵;必须有理由实现一项功能,而不是不实现一项功能的理由。其次,C#不是C++或C的克隆。仅仅因为某项功能是用其他语言编写的并不能成为将其放入C#的理由。第三,“const”在C和C++中被深深地、悲惨地破坏了。“const”不能保证您实际上可以依赖。如果您是采用常量引用的方法的调用者,那么您无法保证该方法遵循常量;该方法有多种改变const引用的方法。如果您是const引用的消费者,那么您无法保证底层对象

c# - 使用 Sharepoint API 获取 AD 域组的成员

在我的Sharepoint代码中,我通过以下方式显示所有已定义用户的列表:foreach(SPUseruserinSPContext.Current.Web.AllUsers){...}最重要的是,我可以将域安全组添加到Sharepoint组(如访客),从而一次添加许多用户(更简单的管理)。但是我的代码至少在他们第一次登录之前看不到这些用户(如果他们有足够的权限)。在这种情况下,我只能看到域安全组SPUser对象实例,其IsDomainGroup设置为true。是否可以通过Sharepoint获取域组成员,而无需求助于ActiveDirectory查询(这是我宁愿避免的事情,因为您可能

c# - 如何忽略二进制序列化的事件类成员?

我需要避免序列化Event类成员,因为当事件由未标记为可序列化的对象处理时,序列化将失败。我尝试在Event类成员上使用NonSerialized属性,但编译失败。这行代码:PublicEventPropertyValueChanged()产生以下错误:Attribute'NonSerializedAttribute'cannotbeappliedto'PropertyValueChanged'becausetheattributeisnotvalidonthisdeclarationtype.PublicEventPropertyValueChanged()'compilesbutn

c# - C# 中接口(interface)成员的访问修饰符

我从以下属性中收到编译错误。错误是:"Themodifier'public'isnotvalidforthisitem"publicSystem.Collections.Specialized.StringDictionaryIWorkItemControl.Properties{get{returnproperties;}set{properties=value;}}但是如果我删除IWorkItemControl它编译正常。为什么我会收到此错误以及在签名中包含/不包含接口(interface)名称有什么区别? 最佳答案 Expli

c# - 使用 asp.net 成员(member)提供程序如何检查用户是否已注册?

使用asp.net和c#成员提供程序如何检查用户是否已注册?我想在代码中处理此问题而不是使用“登录状态”? 最佳答案 不确定你是否想知道他们是“注册”用户还是已经登录(正如登录状态所指示的那样)这里是为了知道他们是否登录(登录状态使用什么):System.Web.HttpContext.Current.User.Identity.IsAuthenticated; 关于c#-使用asp.net成员(member)提供程序如何检查用户是否已注册?,我们在StackOverflow上找到一个类

c# - 为什么在 C# 中这在成员初始值设定项中是不允许的,但在 VB.Net 中是允许的

我正在将VB.Net应用程序转换为C#,并注意到在VB.Net代码中,有一个私有(private)成员变量,它是使用Me初始化的,如下所示:Privatem_ClassAAsNewMyCollection(OfClassA)(Me)当我将其转换为C#代码时:privateMyCollection_classA=newMyCollection(this);我有错误Argumentisvaluewhileparametertypeisref.如果我把ref放在参数this前面,我会得到错误cannotusethisinmemberinitializer.我在这里读到成员在基类之前被初始化,

c# - 如何获取类型成员的源文件名和行号?

考虑到调试数据文件可用(PDB)并通过使用System.Reflection或其他类似框架(例如Mono.Cecil),如何以编程方式检索源文件名和声明类型或类型成员的行号。例如,假设您已将此文件编译成程序集:C:\MyProject\Foo.cs1:publicclassFoo2:{3:publicstringSayHello()4:{5:return"Hello";6:}7:}如何做类似的事情:MethodInfomethodInfo=typeof(Foo).GetMethod("SayHello");stringsourceFileName=methodInfo.GetSourc

c# - 仅为公共(public)成员提取 xml 注释

我正在使用xml注释来记录组件的公共(public)、内部和私有(private)成员。我想将生成的文档xml文件与组件程序集打包在一起,以便在最终产品中启用“丰富的”(例如,方法、异常和参数描述)VisualStudioIntellisense。它的问题是C#编译器为所有内容(包括内部类、方法、内部枚举的私有(private)字段等)创建文档条目,并且似乎没有切换到“仅公共(public)成员”模式。现在我不想遍历超过50个文件,每个文件都有XX方法,并删除私有(private)和内部成员的所有评论。即使我这样做了,我也可能不会在自动生成资源文件方面取得太大成功,因为这些强类型资源类

C#:通过反射访问继承的私有(private)实例成员

我是C#反射方面的绝对新手。我想使用反射来访问类中的所有私有(private)字段,包括继承的那些。我已成功访问所有私有(private)字段(继承的字段除外),以及所有公共(public)和protected继承字段。但是,我无法访问私有(private)的、继承的字段。以下示例说明:classA{privatestringa;publicstringc;protectedstringd;}classB:A{privatestringb;}classtest{publicstaticvoidMain(string[]Args){Bb=newB();Typet;t=b.GetType(

c# - 当类具有 IDisposable 成员但没有非托管资源时,我应该实现 IDisposable 吗?

MSDN文档和StackOverflow上的许多答案竭尽全力讨论如何正确实现IDisposable,例如MSDNIDisposable,MSDNImplementingIDisposable,AnexcellentStackOverflowQ&A然而,它们似乎都没有涵盖我所拥有的一个更常见的用例:当我的类有一个比一种方法生命周期更长的IDisposable成员时该怎么办?例如classFantasticFileService{privateFileSystemWatcherfileWatch;//FileSystemWatcherisIDisposablepublicFantastic