This is not a bug in CSFML or even C#. This is the way structs are handled in the CLR. When you use the default empty constructor on structs everything in the struct will be assigned 0/null depending on the member type. Also there is no way to overload the empty constructor in structs so you must call an overloaded constructor with SFML.
Maybe you misunderstand me. You can call an overloaded constructor, but if it's possible to access a property/var from outside and assign a value to it (because it is declared as public), the value should be stored, right? :-)
so if I can write this code:
state
= new RenderStates
( );state
.BlendMode = BlendMode
.None;BlendMode should have the value 'None' and not undefined/default....
maybe it would be better to use a property without a setter.
public BlendMode BlendMode
{
get
{
return _Value;
}
}
so now, you can not set BlendMode without using the constructor.