Модификатор доступа public позволяет структуре или классу быть доступным в пределах текущей сборки и за ее пределами.
Объект данных любого типа может использовать структуру или класс.
Создайте компонент, файл с расширением .dll и структуру в нем, с модификатором доступа public.
Объект данных любого типа может использовать структуру или класс.
Создайте компонент, файл с расширением .dll и структуру в нем, с модификатором доступа public.
Введите код. Не забудьте переименовать класс в структуру. Скомпилируйте и получите файл с расширением .dll
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;//подключить пространство именusingSystem.ComponentModel;//атрибут объявляющий сборку совместимой с CLS[assembly: CLSCompliant(true)]namespaceLibrary1 {-
//переименовать класс в структуру -
publicstructCounter : IDisposable { -
ushortshowStart; -
ushortshowEnd; -
decimalprice; -
publicCounter(ushortarg0,ushortarg1,decimalarg2) { -
showStart = arg0; -
showEnd = arg1; -
price = arg2; -
} -
publicushortResultShow() { -
return(ushort)(showEnd - showStart); -
} -
publicdecimalSum() { -
returnMath.Round((decimal)(ResultShow() * price), 2); -
} -
publicvoidDispose() { -
GC.Collect(); -
} -
} }
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;//подключить пространство именusingSystem.ComponentModel;//атрибут объявляющий сборку совместимой с CLS[assembly: CLSCompliant(true)]namespaceLibrary1 {-
//переименовать класс в структуру -
publicstructCounter : IDisposable { -
ushortshowStart; -
ushortshowEnd; -
decimalprice; -
publicCounter(ushortarg0,ushortarg1,decimalarg2) { -
showStart = arg0; -
showEnd = arg1; -
price = arg2; -
} -
publicushortResultShow() { -
return(ushort)(showEnd - showStart); -
} -
publicdecimalSum() { -
returnMath.Round((decimal)(ResultShow() * price), 2); -
} -
publicvoidDispose() { -
GC.Collect(); -
} -
} }
Создайте обычный проект. Добавьте ссылку на созданную библиотеку.
Выберите файл с расширением .dll
Ссылка добавлена.
Main.cs
usingSystem;//подключить пространство именusingLibrary1;classProgram {-
publicstaticintMain() { -
Console.WriteLine("Расчет электроэнергии\n"); -
Console.Write("Начальные показания : "); -
ushortshowStart =ushort.Parse(Console.ReadLine()); -
Console.Write("Конечные показания : "); -
ushortshowEnd =ushort.Parse(Console.ReadLine()); -
Console.Write("Цена за 1кВт/ч : "); -
decimalprice =decimal.Parse(Console.ReadLine()); -
Counter C =newCounter(showStart, showEnd, price); -
Console.WriteLine("Сумма за электроэнергию : {0}", C.Sum()); -
Console.ReadKey(); -
return0; -
} }
usingSystem;//подключить пространство именusingLibrary1;classProgram {-
publicstaticintMain() { -
Console.WriteLine("Расчет электроэнергии\n"); -
Console.Write("Начальные показания : "); -
ushortshowStart =ushort.Parse(Console.ReadLine()); -
Console.Write("Конечные показания : "); -
ushortshowEnd =ushort.Parse(Console.ReadLine()); -
Console.Write("Цена за 1кВт/ч : "); -
decimalprice =decimal.Parse(Console.ReadLine()); -
Counter C =newCounter(showStart, showEnd, price); -
Console.WriteLine("Сумма за электроэнергию : {0}", C.Sum()); -
Console.ReadKey(); -
return0; -
} }
Расчет электроэнергии
Начальные показания : 0
Конечные показания : 100
Цена за 1кВт/ч : 0,3084
Сумма за электроэнергию : 30,84
Начальные показания : 0
Конечные показания : 100
Цена за 1кВт/ч : 0,3084
Сумма за электроэнергию : 30,84