title: How do I get common file type icons in C#?
body: <p>As seen in <a href="https://stackoverflow.com/questions/524137/get-icons-for-common-file-types">This SO question on getting icons</a> for common file types, it's quite possible for a windows program to get the icons for a registered file type using the C++ Shell API.  These icons may or may not exist on disk - for example, we wanted to make our own custom file browser and want to display the system-associated icon with the file.</p>
  
  <p>Is there a native C# way to get the icons for various file types (and if so, how) or must it be done through PInvoke with shell API?</p>
  
  <p>And as a follow up, if there is a native .NET way of doing it, is there a cross-platform way of doing it?</p>