473,385 Members | 1,562 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Syntax question

I stumbled across an older post:

http://msdn.microsoft.com/newsgroups...xp=&sloc=en-us

Which uses the ! in a way I haven't seen before and I'm having trouble
figuring out what it's doing there. The line is:

=CDate(Parameters!StartDate.Value).AddMonths(-1).ToString("MMMM")

The only thing I've found on ! is that it indicates:
"Appending the identifier type character ! to any identifier forces it to
Single." (From .NET 1.1 Framework docs) but that is for vb.net and not c#, so
I don't think it would apply.

Anyone have any insight on this?

-Ben
Dec 30 '05 #1
4 1569
"Ben R." <be**@newsgroup.nospam> schrieb:
I stumbled across an older post:

http://msdn.microsoft.com/newsgroups...xp=&sloc=en-us

Which uses the ! in a way I haven't seen before and I'm having trouble
figuring out what it's doing there. The line is:

=CDate(Parameters!StartDate.Value).AddMonths(-1).ToString("MMMM")

The only thing I've found on ! is that it indicates:
"Appending the identifier type character ! to any identifier forces it to
Single." (From .NET 1.1 Framework docs) but that is for vb.net and not c#,
so
I don't think it would apply.


'!' can be used with default properties to access a certain item.

\\\
Dim c As New Collection
c.Add("Bla", "Goo")

' Semantically equivalent lines.
MsgBox(c!Goo)
MsgBox(c("Goo"))
MsgBox(c.Item("Goo"))
///

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Dec 30 '05 #2
Very interesting. Is there any documentation out there on this? Must the
accessor be a string? You're using "goo" with quotes and then with the !,
it's not with quotes so I'm assuming this is implied. Does this mean you
couldn't use, say, an integer accessor?

"Herfried K. Wagner [MVP]" wrote:
"Ben R." <be**@newsgroup.nospam> schrieb:
I stumbled across an older post:

http://msdn.microsoft.com/newsgroups...xp=&sloc=en-us

Which uses the ! in a way I haven't seen before and I'm having trouble
figuring out what it's doing there. The line is:

=CDate(Parameters!StartDate.Value).AddMonths(-1).ToString("MMMM")

The only thing I've found on ! is that it indicates:
"Appending the identifier type character ! to any identifier forces it to
Single." (From .NET 1.1 Framework docs) but that is for vb.net and not c#,
so
I don't think it would apply.


'!' can be used with default properties to access a certain item.

\\\
Dim c As New Collection
c.Add("Bla", "Goo")

' Semantically equivalent lines.
MsgBox(c!Goo)
MsgBox(c("Goo"))
MsgBox(c.Item("Goo"))
///

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Dec 30 '05 #3
Ben,

"Ben R." <be**@newsgroup.nospam> schrieb:
Very interesting. Is there any documentation out there on this? Must the
accessor be a string? You're using "goo" with quotes and then with the !,
it's not with quotes so I'm assuming this is implied. Does this mean you
couldn't use, say, an integer accessor?


It will only work with classes which have a default property which accepts a
single string parameter:

Visual Basic Language Concepts -- Special Characters in Code
<URL:http://msdn2.microsoft.com/en-us/library/xxda45fy.aspx>
-> "Exclamation Point ('!') Operator"

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Dec 30 '05 #4
You can find documentation here:
http://msdn2.microsoft.com/en-us/library/xxda45fy.aspx

According to this document, the class must have a default property that
accepts a String as an argument. So it won't work with integers.

I believe this is around from VB6, actually, and that is why it is in .NET.
It's a compatibility issue, instead of MS thinking this would be a nice
feature to have around.

"Ben R." <be**@newsgroup.nospam> wrote in message
news:F9**********************************@microsof t.com...
Very interesting. Is there any documentation out there on this? Must the
accessor be a string? You're using "goo" with quotes and then with the !,
it's not with quotes so I'm assuming this is implied. Does this mean you
couldn't use, say, an integer accessor?

"Herfried K. Wagner [MVP]" wrote:
"Ben R." <be**@newsgroup.nospam> schrieb:
>I stumbled across an older post:
>
> http://msdn.microsoft.com/newsgroups...xp=&sloc=en-us
>
> Which uses the ! in a way I haven't seen before and I'm having trouble
> figuring out what it's doing there. The line is:
>
> =CDate(Parameters!StartDate.Value).AddMonths(-1).ToString("MMMM")
>
> The only thing I've found on ! is that it indicates:
> "Appending the identifier type character ! to any identifier forces it
> to
> Single." (From .NET 1.1 Framework docs) but that is for vb.net and not
> c#,
> so
> I don't think it would apply.


'!' can be used with default properties to access a certain item.

\\\
Dim c As New Collection
c.Add("Bla", "Goo")

' Semantically equivalent lines.
MsgBox(c!Goo)
MsgBox(c("Goo"))
MsgBox(c.Item("Goo"))
///

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Dec 30 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

699
by: mike420 | last post by:
I think everyone who used Python will agree that its syntax is the best thing going for it. It is very readable and easy for everyone to learn. But, Python does not a have very good macro...
4
by: Aaron Walker | last post by:
Greetings, I'm attempting to write my first *real* template function that also deals with a map of strings to member function pointers that is making the syntax a little tricky to get right. ...
2
by: bor_kev | last post by:
Hi, First of all, i want to use the new managed class syntax and STL.NET under Microsoft Visual (C++) Studio 2005 Beta. I read in a Microsoft...
5
by: r.nikhilk | last post by:
Hi, Currently, we are porting C++ applications from 32 bit to 64 bit on AIX platform. (The current version of AIX is 5.3 and xlC verison is 8.0). We are able to compile the applications by...
3
by: astromog | last post by:
I have some significantly extended syntax for Python that I need to create a reference implementation for. My new syntax includes new keywords, statements and objects that are sort of like classes...
11
by: deppy_3 | last post by:
Hi! The syntax of fputs() is similar with the syntax of fgets(); For example if we have:fgets(str,maxlen,stdin) which is the syntax of the fputs();
8
by: Smithers | last post by:
Are there any important differences between the following two ways to convert to a type?... where 'important differences' means something more profound than a simple syntax preference of the...
2
by: berrylthird | last post by:
This question was inspired by scripting languages such as JavaScript. In JavaScript, I can access members of a class using array syntax as in the following example: var myInstance:myClass = new...
17
by: trose178 | last post by:
Good day all, I am working on a multi-select list box for a standard question checklist database and I am running into a syntax error in the code that I cannot seem to correct. I will also note...
6
by: Daniel | last post by:
I hope this question is OK for this list. I've downloaded Rpyc and placed it in my site packages dir. On some machines it works fine, on others not so much. Here is one error I get when I try...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.