One of the truly great things about working here is that Distinguished Engineers take time out of their busy schedules to answer random questions. Many thanks to Anders and Scott for sharing their insights.
Incidentally, as I've mentioned before, I'll sometimes ask interview candidates how good a C++ programmer they are on a scale from one to ten. If they say "nine", I'll ask them the kind of question that I asked Scott and see what they say.
(And yes, I was for many years known as "that guy who's always wearing the Tilley hat". I still have many Tilleys at home, but I usually only wear them when I'm sailing now.)
In relation to Scott's blog about calling a virtual function from a constructor, this tactic doesn't seem like a good idea, but we were considering it as a solution to the following problem:
We have a DataSet with Table Adapters built for MSAccess using OLEDB. We are using Visual Studio 2005 and .Net 2.0.
When the designer creates insert, update and delete queries it encloses the table name and field names with a ` (ASCII char 96).
For example:
INSERT INTO `table` (`col1`, `col2`, `col3`) values (....)
Is there a reason for this character? Assuming it's for escape purposes, is there a setting to make Visual Studio use another character, eg "[" or "]"?
We were planning on creating a parent to the table adapters in the dataset. The parent would have a virtual function "initialize" that would strip away or replace these characters from the commandText.
But I would rather avoid all of this, if VS has a setting...