I'm currently developing a small C# .dll library module for one of my company's product. It's my first time developing non-UWP app in C# and I'm kind of lost how to effectively distribute an interface for my library.
In C++/C, header files are distributed along with the .dll library and headers functions as interfaces that the users interact with the software. Documentations may be provided separately or often documentation is included in the header file.
In C#, what I'm seeing most often is that people would declare public on exposed classes or methods(rest declared as internal or private) and distribute the .dll with a sample project. Whilst a sample project is usually enough, when user want to use lesser known feature he or she has to dig through the namespace or generated "header file" from meta data which doesn't have any documentation.
I want to know what an experienced C# developer would do in such situation.