New in Visual Basic 2012 is the caller information feature. This feature enables you to obtain information about the caller of a method.
By using Caller Info attributes, you can obtain information about the caller to a method. You can obtain file path of the source code, the line number in the source code, and the member name of the caller. This information is helpful for tracing, debugging, and creating diagnostic tools.
To obtain this information, you use attributes that are applied to optional parameters, each of which has a default value.
For more information about using the Caller Information feature click:
Caller Information (C# and Visual Basic)
' Imports System.Runtime.CompilerServices
' Imports System.Diagnostics
Private Sub DoProcessing()
Public Sub TraceMessage(message As String,
<CallerMemberName> Optional memberName As String = Nothing,
<CallerFilePath> Optional sourcefilePath As String = Nothing,
<CallerLineNumber()> Optional sourceLineNumber As Integer = 0)
Trace.WriteLine("message: " & message)
Trace.WriteLine("member name: " & memberName)
Trace.WriteLine("source file path: " & sourcefilePath)
Trace.WriteLine("source line number: " & sourceLineNumber)
' Sample output:
' message: Something happened.
' member name: DoProcessing
' source file path: C:\Users\username\Documents\Visual Studio 2012\Projects\CallerInfoVB\CallerInfoVB\Form1.vb
' source line number: 15
In my three previous xRad posts I explained the use of well known names and how they help make extra rapid application development (xRad) possible.
In this post I will expand on the ‘well known’ concept that speeds up application development by discussing well known table schemas.
There are many database tables that are commonly used in business applications. A few examples are:
Since 1992 we have identified 1104 well known table schemas.
Like well known names, well known table schemas are used in my databases, models, code, generators, and snippets.
And, like well known names, well known schemas reduce development time because they are reusable.
Some benefits of well known table schemas are:
1. When a new project starts up no design time is spent on the well known tables.
2. Programmer documentation about well known schemas has not changed since 2011. We will add more well known tables schemas but they will be additions, not changes.
3. We run one script to install all well known tables at the beginning of a project.
4. Code, text, comment, and documentation generators - auto create data access code, enum code, validation code, classes, and more for the well known tables. Once we install the tables and run the generators everything just works.
We’ve found it’s easier to install the well known tables and generate supporting code than to pick and choose.