public class ConnectionElement : ConfigurationElement
{
[ConfigurationProperty("uri", DefaultValue = "/")]
public String Uri
{
get
{ return(String)this. Uri; }
set
{ this.Uri = value; }
}
}
It is throwing error stating An unhandled exception of type System.StackOverflowException. Please help

Both your getter and your setter are calling themselves. Remember that properties are just groups of methods, effectively. Your class really looks like this, but with a bit of extra metadata:
public class ConnectionElement : ConfigurationElement
{
public string GetUri()
{
return (string) GetUri();
}
public void SetUri(string value)
{
SetUri(value);
}
}
Now can you see why it's failing?
It's not clear why you're casting in the getter, but it looks like an automatically implemented property might do:
[ConfigurationProperty("uri", DefaultValue = "/")]
public string Uri { get; set; }
EDIT: If, as noted in comments, you're really trying to use the indexer, you need to do that instead of calling your property recursively:
public class ConnectionElement : ConfigurationElement
{
[ConfigurationProperty("uri", DefaultValue = "/")]
public string Uri
{
get { return (string) this["uri"]; }
set { this["uri"] = value; }
}
}
See more on this question at Stackoverflow