Неявный вызов ToString() - C#
Формулировка задачи:
прислали
Если Материал окажется пустым, у Вас будет ошибка. Её можно избежать, используя неявный вызов ToString()
public override string ToString()
{
return string.Format("{0};{1};{2};{3}", Name, Mat.ToString(), Vol, this.GetMass());
}
namespace пример_2ого
{
class Material
{
private string name {get;set;}
private double d { get; set; }
public Material() { }
public Material(string newName, double newV)
{
d = newV;
name = newName;
}
public double D() {return d; }
public string Name() { return name; }
public override string ToString()
{
return string.Format("{0};{1}", name, d);
}
}
}namespace пример_2ого
{
class Article
{
private Material material;
private double vol { get; set; }
private string name { get; set; }
public Article(string articleName, double articleVolume, Material articleMaterial)
{
Mat = articleMaterial;
name = articleName;
vol = articleVolume;
}
public double Vol()
{ return vol; }
public string Name()
{return name;}
public Material Mat
{
get
{
return material;
}
set
{
material = value;
}
}
public double GetMass()
{
return material.D() * vol;
}
public override string ToString()
{
return string.Format("{0};{1};{2};{3}", name, Mat.ToString(), vol, GetMass());
}
}
}using System;
namespace пример_2ого
{
class Program
{
static void Main(string[] args)
{
Article art = new Article("Wire", 0.03, new Material("Steel", 7850));
Console.WriteLine(art.ToString());
Material cu = new Material("Cuprum", 8500);
art.Mat = cu;
Console.WriteLine(art.ToString());
Console.ReadKey();
}
}
}
а как сделать этот неявный вызов не знаю
Решение задачи: «Неявный вызов ToString()»
textual
Листинг программы
public override string ToString()
{
return string.Format("{0};{1};{2};{3}", Name, Mat, Vol, this.GetMass());
}