IConvertible Interface defines methods for converting value types : IConvertible « Data Structure « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Date Time
8.Development
9.Event
10.File Directory
11.Generics
12.GUI
13.Internationalization I18N
14.Language Basics
15.LINQ
16.Network Remote
17.Reflection
18.Security
19.Thread
20.Windows Presentation Foundation
21.Windows System
22.XML
23.XML LINQ
VB.Net » Data Structure » IConvertibleScreenshots 
IConvertible Interface defines methods for converting value types
 


Public Class Complex : Implements IConvertible
   Private x, y As Double

   Public Sub New(ByVal x As Double, ByVal y As Double)
      Me.x = x
      Me.y = y
   End Sub

   Function GetDoubleValue() As Double
      Return Math.Sqrt((x * x + y * y))
   End Function

   Public Function GetTypeCode() As TypeCode Implements IConvertible.GetTypeCode
      Return TypeCode.Object
   End Function

   Function ToBoolean(ByVal provider As IFormatProviderAs Boolean _
            Implements IConvertible.ToBoolean
      Return x <> OrElse y <> 0
   End Function

   Function ToByte(ByVal provider As IFormatProviderAs Byte Implements IConvertible.ToByte
       Return Convert.ToByte(GetDoubleValue())
   End Function

   Function ToChar(ByVal provider As IFormatProviderAs Char Implements IConvertible.ToChar
      Return Convert.ToChar(GetDoubleValue())
   End Function

   Function ToDateTime(ByVal provider As IFormatProviderAs DateTime Implements IConvertible.ToDateTime
      Return Convert.ToDateTime(GetDoubleValue())
   End Function

   Function ToDecimal(ByVal provider As IFormatProviderAs Decimal Implements IConvertible.ToDecimal
      Return Convert.ToDecimal(GetDoubleValue())
   End Function

   Function ToDouble(ByVal provider As IFormatProviderAs Double Implements IConvertible.ToDouble
      Return GetDoubleValue()
   End Function

   Function ToInt16(ByVal provider As IFormatProviderAs Short Implements IConvertible.ToInt16
      Return Convert.ToInt16(GetDoubleValue())
   End Function

   Function ToInt32(ByVal provider As IFormatProviderAs Integer Implements IConvertible.ToInt32
      Return Convert.ToInt32(GetDoubleValue())
   End Function

   Function ToInt64(ByVal provider As IFormatProviderAs Long Implements IConvertible.ToInt64
      Return Convert.ToInt64(GetDoubleValue())
   End Function

   Function ToSByte(ByVal provider As IFormatProviderAs SByte Implements IConvertible.ToSByte
      Return Convert.ToSByte(GetDoubleValue())
   End Function

   Function ToSingle(ByVal provider As IFormatProviderAs Single Implements IConvertible.ToSingle
      Return Convert.ToSingle(GetDoubleValue())
   End Function

   Overloads Function ToString(ByVal provider As IFormatProviderAs String Implements IConvertible.ToString
      Return String.Format("({0}, {1})", x, y)
   End Function

   Function ToType(ByVal conversionType As Type, ByVal provider As IFormatProviderAs Object Implements IConvertible.ToType
      Return Convert.ChangeType(GetDoubleValue(), conversionType)
   End Function

   Function ToUInt16(ByVal provider As IFormatProviderAs UInt16 Implements IConvertible.ToUInt16
      Return Convert.ToUInt16(GetDoubleValue())
   End Function

   Function ToUInt32(ByVal provider As IFormatProviderAs UInt32 Implements IConvertible.ToUInt32
      Return Convert.ToUInt32(GetDoubleValue())
   End Function

   Function ToUInt64(ByVal provider As IFormatProviderAs UInt64 Implements IConvertible.ToUInt64
      Return Convert.ToUInt64(GetDoubleValue())
   End Function
End Class

Public Module Example
   Sub Main()
      Dim testComplex As New Complex(47)

      Console.WriteLine(Convert.ToString(testComplex))
   End Sub
End Module

   
  
Related examples in the same category
1.IConvertible Interface
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.