Название может быть неправильным, если это так, пожалуйста, измените. Я не знаю, как задать свой вопрос, поэтому просто посмотрите на код, так как он должен быть очевидным.
Использование закомментированного кода будет работать, но я хочу знать, почему реальный код не работает. Я уверен, что это неправильно, но как это можно исправить? Или это не так, как это сделано?
using System;
namespace SomethingAwful.TestCases.Structs
{
public class Program
{
public static void Main()
{
Foo f = new Foo();
f.Bar.Baz = 1;
Console.WriteLine(f.Bar.Baz);
}
}
public class Foo
{
public struct FooBar
{
private int baz;
public int Baz
{
get
{
return baz;
}
set
{
baz = value;
}
}
public FooBar(int baz)
{
this.baz = baz;
}
}
private FooBar bar;
public FooBar Bar
{
get
{
return bar;
}
set
{
bar = value;
}
}
//public FooBar Bar;
public Foo()
{
this.bar = new FooBar();
//this.Bar = new FooBar();
}
}
}