diff options
author | Joel Martinez <joelmartinez@gmail.com> | 2014-09-24 23:16:05 +0400 |
---|---|---|
committer | Duncan Mak <duncanm@microsoft.com> | 2016-10-08 03:30:47 +0300 |
commit | 6fce47748596844e372bd4a50aaea444a9e8aa26 (patch) | |
tree | 558a4b9770726cff829030a41d9dadd417bb178a /mdoc/Test/DocTest-InternalInterface.cs | |
parent | 1578d8fa71ab556c5868ab11bd886318e5e085be (diff) |
[mdoc] No longer documenting explicitly implemented private interface members.
https://bugzilla.xamarin.com/show_bug.cgi?id=18411
If a class explicitly implements an internal interface, those members will no
longer be documented, nor will the interface show up in the class' signature.
This allows for a library to hide internal implementation details that an end
user would not be able to take advantage of (ie. can't cast to internal
interface to call methods).
Includes test (check-monodocer-internal-interface) added to makefile.
Diffstat (limited to 'mdoc/Test/DocTest-InternalInterface.cs')
-rw-r--r-- | mdoc/Test/DocTest-InternalInterface.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mdoc/Test/DocTest-InternalInterface.cs b/mdoc/Test/DocTest-InternalInterface.cs new file mode 100644 index 00000000..5d65c34c --- /dev/null +++ b/mdoc/Test/DocTest-InternalInterface.cs @@ -0,0 +1,17 @@ +namespace MyNamespace { + internal interface MyInternalInterface { + bool Foo {get;set;} + string FooSet {set;} + void FooMeth (); + void BarMeth (); + } + + public class MyClass : MyInternalInterface { + public string Bar {get;set;} + public void BarMeth () {} // part of the interface, but publicly implemented + + string MyInternalInterface.FooSet {set {}} + bool MyInternalInterface.Foo {get;set;} + void MyInternalInterface.FooMeth () {} + } +} |