class Whatever
{
private int[]? _arrayRef;
public struct DrawPosition
{
public int Top;
public int Left;
}
public DrawPosition? Position { get; set; }
private void AssertInitialized()
{
Debug.Assert(_arrayRef is not null);
Debug.Assert(Position.HasValue);
}
public void BeginSwap(int index0, int index1)
{
AssertInitialized();
// The compiler complains that Position might be null.
DrawState(Position.Value, _cachedElementWidth, _arrayRef);
}
}
class Whatever
{
private int[]? _arrayRef;
public struct DrawPosition
{
public int Top;
public int Left;
}
public DrawPosition? Position { get; set; }
private void AssertInitialized()
{
Debug.Assert(_arrayRef is not null);
Debug.Assert(Position.HasValue);
}
public void BeginSwap(int index0, int index1)
{
AssertInitialized();
// The compiler complains that Position might be null.
DrawState(Position.Value, _cachedElementWidth, _arrayRef);
}
}