Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/api-doc-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Martinez <joelmartinez@gmail.com>2014-09-24 23:16:05 +0400
committerDuncan Mak <duncanm@microsoft.com>2016-10-08 03:30:47 +0300
commit6fce47748596844e372bd4a50aaea444a9e8aa26 (patch)
tree558a4b9770726cff829030a41d9dadd417bb178a /mdoc/Test/DocTest-InternalInterface.cs
parent1578d8fa71ab556c5868ab11bd886318e5e085be (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.cs17
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 () {}
+ }
+}