Integer #End Region #Region “Methods” Public Overrides Function ToString() As String Return $”{NameOf(Id)} = {Id}” ‘ VS2015で挿入文字列およびNameOf演算子に対応 End Function #End Region End Class
As IMailSender #End Region #Region “Constructors” Public Sub New(attachmentCreator As IFileCreator mailSender As IMailSender) _attachmentCreator = attachmentCreator _mailSender = mailSender End Sub #End Region
FileType As FileTypeDivision Implements IFileCreator.FileType = FileTypeDivision.Excel #End Region #Region “Methods” Public Function Create(filePath As String) As FileInfo Implements IFileCreator.Create (Excelファイルを作成) End Function #End Region End Class
FileType As FileTypeDivision Implements IFileCreator.FileType = FileTypeDivision.Pdf #End Region #Region “Methods” Public Function Create(filePath As String) As FileInfo Implements IFileCreator.Create (PDFファイルを作成) End Function #End Region End Class
FileTypeDivision, IFileCreator) = New Dictionary(Of FileTypeDivision, IFileCreator)() #End Region #Region “Methods” Public Sub Deliver() Dim fileType = order.FileType Dim attachment = _attachmentCreatorDic(fileType).Create(filePath) End Function #End Region End Class
FileType As FileTypeDivision Implements IFileCreator.FileType = FileTypeDivision.None #End Region #Region “Methods” Public Function Create(filePath As String) As FileInfo Implements IFileCreator.Create Return New FileInfo(String.Empty) End Function #End Region End Class
container.RegisterType(Of ICream, CustardCream)() ‘ クリームをタンクに詰める Dim shouCream = container.Resolve(Of ShouCream)() ‘ タンクから CustardCream が注入される End Sub #End Region
container.RegisterType(Of ICream, ChocolateCream)(“ChocoCrem”) ‘ 名前を付けて登録する ‘ 作り方を登録する container.RegisterType(Of ShouCream)(“Choco”, New InjectionConstructor(container.Resolve(container.Resolve(Of ICream)(“ChocoCream”)))) Dim shouCream = container.Resolve(Of ShouCream)(“Choco”) End Sub #End Region
container.RegisterType(Of ICream, CustardCream)() Dim service = New UnityServiceLocator(container) ServiceLocator.SetLocatorProvider(Function() service) End Sub Public Sub Execute() Dim shouCream = ServiceLocator.Current.GetInstance(Of ShouCream)() End Sub #End Region