|
分類:[ASP.NET (C#)]
いつもお世話になっております。 MSDNサイトに起きまして『Web サービスで継承を使用する』を参考にして、
<%@ WebService Language="C#" Class="Add" %> using System; using System.Web.Services; abstract public class MathService : WebService { [WebMethod] abstract public float CalculateTotal(float a, float b); } public class Add : MathService { [WebMethod] override public float CalculateTotal(float a, float b) { return a + b; } } public class Subtract : MathService { [WebMethod] override public float CalculateTotal(float a, float b) { return a - b; } } public class Multiply : MathService { [WebMethod] override public float CalculateTotal(float a, float b) { return a * b; } } public class Divide : MathService { [WebMethod] override public float CalculateTotal(float a, float b) { if (b==0) return -1; else return a / b; } }
というソースをビルドして、他のプロジェクトからこのWebサービスを参照(localhostと命名)しました。 サービスの使用側で、 localhost.MathService math1 = new localhost.Add(); localhost.MathService math2 = new localhost.Subtract(); localhost.MathService math3 = new localhost.Multiply(); localhost.MathService math4 = new localhost.Divide(); なんて出来たら最高なのですが、できません。 というより結局、<%@ WebService Language="C#" Class="Add" %>としているせいか localhost.Add math1 = new localhost.Add(); しか作れないのですが、タイトルの意味を私が履き違えているだけなのでしょうか?
|