Home All Groups Group Topic Archive Search About

Warning Text Files Access

Author
13 Apr 2006 4:21 PM
AnDrE
Hello

I'm developing a application in VB .NET 2005 and I need to access text
files.
I'm using the System.IO.File library and I have this code:

Dim oFile As System.IO.File
Dim oRead As System.IO.StreamReader
oRead = oFile.OpenText(FullPath & "\file.conf")

In the second line I have a constant warning that I can't resolve.
The warning is:
"Access of shared member, constant member, enum member or nested type
through an instance; qualifying expression will not be evaluated."

I don't have idea why this heapen!!
Anyone knows something???

Thank you and regards,
Andre Figueiredo

Author
13 Apr 2006 4:58 PM
james
Show quote Hide quote
"AnDrE" <pandresfigueir***@hotmail.com> wrote in message
news:1144945271.038925.206890@v46g2000cwv.googlegroups.com...
> Hello
>
> I'm developing a application in VB .NET 2005 and I need to access text
> files.
> I'm using the System.IO.File library and I have this code:
>
> Dim oFile As System.IO.File
> Dim oRead As System.IO.StreamReader
> oRead = oFile.OpenText(FullPath & "\file.conf")
>
> In the second line I have a constant warning that I can't resolve.
> The warning is:
> "Access of shared member, constant member, enum member or nested type
> through an instance; qualifying expression will not be evaluated."
>
> I don't have idea why this heapen!!
> Anyone knows something???
>
> Thank you and regards,
> Andre Figueiredo

Change : Dim oFile As System.IO.File   to: Dim oFile As  New System.IO.File
            : Dim oRead as System.IO.StreamReader to: Dim oRead as New
System.IO.StreamReader
That should get you going.
james
Author
13 Apr 2006 5:56 PM
Jason
if your just reading in a text file you can use this (saves a lot of typing)

dim MyFile as string = my.Computer.FileSystem.ReadAllText(PathToMyFile)



Show quoteHide quote
"james" <jjames700REMOV***@earthlink.net> wrote in message
news:OFguAuxXGHA.1204@TK2MSFTNGP04.phx.gbl...
> "AnDrE" <pandresfigueir***@hotmail.com> wrote in message
> news:1144945271.038925.206890@v46g2000cwv.googlegroups.com...
>> Hello
>>
>> I'm developing a application in VB .NET 2005 and I need to access text
>> files.
>> I'm using the System.IO.File library and I have this code:
>>
>> Dim oFile As System.IO.File
>> Dim oRead As System.IO.StreamReader
>> oRead = oFile.OpenText(FullPath & "\file.conf")
>>
>> In the second line I have a constant warning that I can't resolve.
>> The warning is:
>> "Access of shared member, constant member, enum member or nested type
>> through an instance; qualifying expression will not be evaluated."
>>
>> I don't have idea why this heapen!!
>> Anyone knows something???
>>
>> Thank you and regards,
>> Andre Figueiredo
>
> Change : Dim oFile As System.IO.File   to: Dim oFile As  New
> System.IO.File
>            : Dim oRead as System.IO.StreamReader to: Dim oRead as New
> System.IO.StreamReader
> That should get you going.
> james
>
>
Author
13 Apr 2006 9:14 PM
Tom Shelton
AnDrE wrote:
Show quoteHide quote
> Hello
>
> I'm developing a application in VB .NET 2005 and I need to access text
> files.
> I'm using the System.IO.File library and I have this code:
>
> Dim oFile As System.IO.File
> Dim oRead As System.IO.StreamReader
> oRead = oFile.OpenText(FullPath & "\file.conf")
>
> In the second line I have a constant warning that I can't resolve.
> The warning is:
> "Access of shared member, constant member, enum member or nested type
> through an instance; qualifying expression will not be evaluated."
>
> I don't have idea why this heapen!!
> Anyone knows something???
>
> Thank you and regards,
> Andre Figueiredo

OpenText is a shared member of the File class.  You don't need to have
an instance of it...


Dim oRead As System.IO.StreamReader = _
System.File.OpenText (Path.Combine (FullPath, "file.conf"))

You should do most of your path operations using the Path class in
System.IO.  It will make sure that the names are combined properly
(with the appropriat separator char).

Just to make what's happening more clear...  You can not create an
instance of a File class.  It's constructor is private and it only has
Shared members.  You are setting the reference of the shared instance
to an instance variable and then accessing a function.  This is
unfortunately legal in VB.  This code wouldn't even compile in C#, it
is considered bad practice.

--
Tom Shelton [MVP]
Author
18 Apr 2006 3:06 PM
AnDrE
Hi!

Thank You Tom Shelton. I understand your post and this change in my
code does disapear the warning!
I don't know the existing of Path class and I'm using it now, that seem
to me better that the another method that i used...

Thanks James too for yours tips!
Author
26 Apr 2006 1:53 PM
gadya
I have the same sort of problem but your answer doesn't seem to cover it?
this code is OK in Vstudio.net 2003
"Cursor.Current = Cursors.Default"
generates: Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.   
---
Posted via www.DotNetSlackers.com