I have a simple demo of mvp below:
public partial class _Default : System.Web.UI.Page, IView
{
protected void Page_Load(object sender, EventArgs e)
{
}
#region IView Members
public string RadiusText
{
get { return TextRadius.Text; }
set { TextRadius.Text = value; }
}
public string ResultText
{
get { return LabelResult.Text; }
set { LabelResult.Text = value; }
}
#endregion
protected void ButtonResult_Click(object sender, EventArgs e)
{
CPresenter presenter = new CPresenter(this);
presenter.CalculateCircleArea();
}
}
/// <summary>
/// interface view 1
/// </summary>
public interface ICircleModel
{
double getArea(double radius);
}
public class CModel : ICircleModel
{
public CModel() { }
#region ICircleModel Members
public double getArea(double radius)
{
return Math.PI * radius * radius;
}
#endregion
}
/// <summary>
/// interface view 2
/// </summary>
public interface IView
{
string RadiusText { get; set; }
string ResultText { get; set; }
}
/// <summary>
/// Summary description for Presenter
/// </summary>
public class CPresenter
{
IView mview;
public CPresenter(IView view)
{
mview = view;
}
public double CalculateCircleArea()
{
CModel model = new CModel();
mview.ResultText = model.getArea(Double.Parse(mview.RadiusText)).ToString();
return mview.ResultText.ToString();
}
}
error i m getting is:
Error 1 Cannot implicitly convert type ‘string’ to ‘double’
Your CalculateCircleArea() method in your CPresenter class is returning a string when the method signature defines a double as the retrurn parameter. Either change the return parameter to a string or return a double from within the method.