>>>>>Hi everybody,
>>>>>
>>>>>I've defined this constant in the class declaration
>>>>>
>>>>>
>>>>>public const String EncodingXMLString
>>>>>
>>>>>
>>>>>but I can not access it by ClassName.ConstName
>>>>>
>>>>>I can change it to be a readonly static property instead, but why I can not use it as a constant? I see a comment by another colleague on another readonly property
>>>>
>>>>
>>>>Because your definition does not make it a constant
>>>>
>>>>A constant expression is an expression that can be fully evaluated at compile time
>>>>
>>>>
>>>>>// Huh! Can't use const here - weird.
>>>>>
>>>>>Indeed weird - do you see what may be wrong?
>>>>>
>>>>>Thanks in advance.
>>>
>>>So, what is wrong exactly here - why it can not be evaluated in compile time?
>>>
>>>
>>> internal static readonly String EncodingXMLString = @"<?xml version = ""1.0"" encoding=""Windows-1252"" standalone=""yes""?>";
>>>
>>>I already switched to the readonly property since constant didn't work.
>>
>>
>>That shouldn't be a problem
>>
>> internal class Defs
>> {
>> internal const String EncodingXMLString = @"<?xml version = ""1.0"" encoding=""Windows-1252"" standalone=""yes""?>";
>> }
>>
>
>Didn't work for me - I was unable to access this constant from another class - but I think I know what I was doing wrong - I was trying to access it using class name instance instead of the Type instance. Because when I got similar error using that property I switched to Database.Property instead of database.Property (where Database is the class name while database is the class instance name).
>
>Do you think that was the original problem?
Constants are by definition static
Gregory