Firstly I think TileLayer is a good addition to SharpMap, thanks for the effort.
I agree with your approach of only exposing what is required. I also expect that if you did expose any of the items that I suggest that they would be read only.
There are a number of use cases but the main reason for my request is to expose the layer source. I like to provide meta data about the layers to end users and the source is a critical one. I can get the source from most other layer/provider types (ShapeFile,
OleDB, ECW, MsSql etc) and would like to be able to do the same for TileLayers. For example, is it a Bing or OSM layer? What URL are we using? These are fundamental values that should be exposed to the end user so they can understand the data they are using.
Yes we could create other variables to store/expose the properties used to create the TileLayer but I think that is a bit of a kludge.
In terms of the TileSource, can we not check the type of the TileSource and apply logic accordingly. I am not expecting you to expose values for every type of TileSource, perhaps just expose it as ITileSource?