I've known for a long time that C# identifiers could have an optional @ sign in front of them, but until recently I thought that the character became part of the identifier.
int foo = 3;
int @foo = 4; //<-- error here: identifier 'foo' already in scope
So, it's really a way to call into code that may have been written in another CLR language that has identifiers that clash with C#'s reserved and keywords.
By way of example, to call the following VB.NET function
Public Class VerbatimIdentifierTest
Public Shared Function int(ByVal value As Double) As Integer
Return Convert.ToInt32(value)
End Function
End Class
from C# you'd invoke:
VerbatimIdentifierTest.@int(1.0);
Wednesday, December 03, 2008
Subscribe to:
Posts (Atom)