public void Stsfld(DerivedDerived bar) { sderived = bar; }
public void DerivedDerivedSpecificCouldNotBeGeneralized(DerivedDerived specific) { specific.Bar(999, "bar"); specific.DerivedDerivedSpecific(); specific.Foo(); }
public int BarAsSpecializedArgument(string hash, DerivedDerived bar) { FooCouldBeBase(bar); return(0); }
public void Stfld(DerivedDerived bar) { derived = bar; }
public int BarCouldBeGeneralizedButNotFoo(string foo, DerivedDerived bar) { bar.Bar(42, "hash"); return(foo.Length); }
public void BarAndFooCouldBeGeneralized(Derived foo, DerivedDerived bar) { bar.Bar(42, "hash"); foo.Foo(); }
public void DerivedDerivedBarCouldBeDerived(DerivedDerived bar) { bar.Bar(0, null); }
public void DerivedDerivedFooCouldBeBase(int dummy, DerivedDerived foo) { foo.Foo(); }
public void Stsfld2(DerivedDerived bar) { sderived = bar;//no warn since we use specific below bar.DerivedDerivedSpecific(); }