ConvertWriter
ConvertWriter is a writer that can typecast referable types and numeric types.
// Create converter
IWriterToRef<byte, int> converter = new ConvertWriter<byte, int>();
// Read
int converted = converter.Read((byte)10);
// Print
WriteLine(converted); // 10
ConvertWriter.Create(fromType, toType) creates writer with run-time types.
// Create converter
IWriterToRef<byte, int> converter = (IWriterToRef<byte, int>)ConvertWriter.Create(typeof(byte), typeof(int));
// Read
int converted = converter.Read((byte)10);
// Print
WriteLine(converted); // 10
ConvertWriter can convert enumerables.
// Create converter
IWriterToRef<MyEnum, int> converter = new ConvertWriter<MyEnum, int>();
// Read
int converted = converter.Read(MyEnum.B);
// Print
WriteLine(converted); // 20
public enum MyEnum : int
{
A = 10,
B = 20
}
Full Example
Full example
using Avalanche.Service;
using Avalanche.Writer;
using static System.Console;
public class convertwriter
{
public static void Run()
{
{
// <01>
// Create converter
IWriterToRef<byte, int> converter = new ConvertWriter<byte, int>();
// Read
int converted = converter.Read((byte)10);
// Print
WriteLine(converted); // 10
// </01>
}
{
// <02>
// Create converter
IWriterToRef<byte, int> converter = (IWriterToRef<byte, int>)ConvertWriter.Create(typeof(byte), typeof(int));
// Read
int converted = converter.Read((byte)10);
// Print
WriteLine(converted); // 10
// </02>
}
{
// <03>
// Create converter
IWriterToRef<MyEnum, int> converter = new ConvertWriter<MyEnum, int>();
// Read
int converted = converter.Read(MyEnum.B);
// Print
WriteLine(converted); // 20
// </03>
}
}
// <99>
public enum MyEnum : int
{
A = 10,
B = 20
}
// </99>
}