473,473 Members | 1,819 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

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 1574
"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...
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...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
muto222
php
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.