关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在使用Doxygen为我们的API生成用C#编写的文档。但是,它公开了私有(private)/protected成员。有没有办法隐藏这些?我想出了如何隐藏文件:EXCLUDE=文件名列表然而,我需要更多的粒度,从而使用户免受不必要的API干扰。示例Doxygen文件以及提示/技巧将不胜感激。您使用什么工具从源代码生成API?当我通过C++在C#中使用Doxygen
我只想知道private和protectedinternal访问说明符之间的实际区别是什么。据我所知Visibletoownclassmembers:privateandprotectedinternalYESVisibletoobjectofotherclasses:BothNOVisibletoobjectsofotherclassesoutsidethenamespacecollection:BothNOVisibletoobjectofchildclassesoutsidethenamespacecollection:BothNO如果private与protectedinter
这是给那些在大型项目和API/框架设计方面有经验的人的问题。我正在开发一个将来会被很多其他项目使用的框架,所以我想把它做得很好并且可扩展,但同时它需要简单易懂。我知道很多人提示.NET框架包含太多密封类和私有(private)成员。我是否应该避免这种批评并向大量protected虚拟成员开放我的所有类(class)?尽可能多地使我的方法和属性protected虚拟是个好主意吗?在什么情况下你会避免protectedvirtual并使成员私有(private)。 最佳答案 你的类包括数据成员;对那些功能永远不会改变的数据成员执行基本内
我最近注意到,您可以使用Moq对抽象基类进行单元测试,而不是在测试中创建一个实现抽象基类的虚拟类。参见Howtousemoqtotestaconcretemethodinanabstractclass?例如。你可以这样做:publicabstractclassMyAbstractClass{publicvirtualvoidMyMethod(){//...}}[Test]publicvoidMyMethodTest(){//ArrangeMockmock=newMock(){CallBase=true};//Actmock.Object.MyMethod();//Assert//...
我应该如何在不使用任何导航属性的情况下使用CodeFirst来定义关系?之前,我通过在关系的两端使用导航属性来定义一对多和多对多。并在数据库中创建适当的关系。这是类外观的精简版本(为简单起见,我已将多对多关系转换为一对多)。publicclassUser{publicstringUserId{get;set;}publicstringPasswordHash{get;set;}publicboolIsDisabled{get;set;}publicDateTimeAccessExpiryDate{get;set;}publicboolMustChangePassword{get;set
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion作为IT支持技术员工作了3年后,我决定改变领域并开始编程。我正在通过WroxBeginningVisualC#2008book学习C#,我将其用作指南。我已经阅读了整个POO部分(继承、多态性……委托(delegate)……)。我已经开始了第二部分,即Windows编程(Winforms)我知道你们中的很多人建议做一些工作应用程序来练习,但是如果我还没有开始使用SQLServer、LINQ
我正在为有关辅助功能的初学者session设置一些演示代码,我发现我能够从派生类访问内部protected属性。我错过了什么?程序集1namespaceAccessibility{classProgram{staticvoidMain(string[]args){ExampleClassc=newExampleClass();c.Go();//c.Prop1=10;}}classExampleClass:DerivedClass{publicvoidGo(){this.Prop1=10;this.Prop2=10;//this.Prop3=10;//Doesn'twork//this.
我想知道C#中的protected是什么意思,为什么要用它,关键字有什么好处?例如protectedintcurrentColorIndex;请详细说明。 最佳答案 每个人的答案都是相似的(定义和/或摘录/MSDN链接),所以我将尝试回答您原来的3个问题:含义:任何标有“protected”的字段意味着它只对其自身和任何子级(从它继承的类)可见。您会注意到在ASP.NETWeb窗体代码隐藏模型中,事件处理程序(例如Page_Load)被标记为“protected”。这是因为ASPX标记文件实际上继承代码隐藏文件(查看@Page指令可
假设我有这两个非常基本的实体:publicclassParentEntity{publicintId;publicvirtualICollectionChildrens;}publicclassChildEntity{publicintId;publicintParentEntityId;//ForeignKeypublicvirtualParentEntityparent;//[NOTWANTED]}出于某些原因,我不希望ChildEntity保留对其父项的引用。我只希望它保留ParentEntityid但仅此而已。到目前为止,没问题,我只是删除了[NOTWANTED]行,一切都按预
protected内部:protected和internal可访问性的联合(这比protected或internal的限制更少单独)TheCLRhastheconceptofintersectionofprotectedandinternalaccessibility,butC#doesnotsupportthis.所以我的问题是:省略这个访问修饰符是什么意思,有具体原因吗?那么为什么C#不应该支持它呢? 最佳答案 更新:C#7.2使用访问修饰符privateprotected引入了这一点,这在某些方面似乎是错误的,但确实避免了我在