可能ですが、あなたが以下のクラスがあるとしましょう:
public interface IApple{
int I {get; set;}
int J {get; set;}
}
public class GrannySmith : IApple{
public GrannySmith()
{
this.I = 10;
this.J = 6;
}
int I {get; set;}
int J {get; set;}
}
public class PinkLady : IApple{
public PinkLady()
{
this.I = 42;
this.J = 1;
}
int I {get; set;}
int J {get; set;}
}
public class FruitUtils{
public int CalculateAppleness(IApple apple)
{
return apple.J * apple.I;
}
}
今どこかのプログラムであなたが書くことができます:
var apple = new GrannySmith();
var result = new FruitUtils().CalculateAppleness(apple);
var apple2 = new PinkLady();
var result2 = new FruitUtils().CalculateAppleness(apple2);
Console.WriteLine(result); //Produces 60
Console.WriteLine(result2); //Produces 42
それはあまりにも些細です。ただ検索してみてください。 http://www.java2s.com/Tutorial/CSharp/0140__Class/Useinterfaceasaparameter.htm –
あなたはそれをやろうとしましたか? –