using System;
using System.Collections.Generic;
public class Program
{
public class AData
public int x = 42;
}
public class A
public AData data {get;set;} = new AData();
public class BData: AData
public int y = 12;
public class B: A
public BData data {get;set;} = new BData();
public static class fun{
public static void myfunc(AData someData)
Console.WriteLine(someData.x);
public static void Main()
var obj = new B();
fun.myfunc(obj.data);