можно сделать что-то вроде следующего:
struct test
{
this
{
get { /*do something*/ }
set { /*do something*/ }
}
}
чтобы, если кто-то попытался это сделать,
test tt = new test();
string asd = tt; // intercept this and then return something else