আপনি কোনও শব্দ explicit
বা implicit
কীওয়ার্ড ব্যবহার করে আপনার শ্রেণিতে রূপান্তর অপারেটরগুলি ঘোষণা করতে পারেন ।
থাম্বের সাধারণ নিয়ম হিসাবে, implicit
রূপান্তর অপারেটরগুলি কেবল তখনই সরবরাহ করতে হবে যখন রূপান্তর সম্ভবত ব্যর্থ হয় না। explicit
রূপান্তর ব্যর্থ হতে পারে যখন রূপান্তর অপারেটর ব্যবহার করুন ।
public class MyClass
{
private byte[] _bytes;
// change explicit to implicit depending on what you need
public static explicit operator MyClass(byte[] b)
{
MyClass m = new MyClass();
m._bytes = b;
return m;
}
// change explicit to implicit depending on what you need
public static explicit operator byte[](MyClass m)
{
return m._bytes;
}
}
ব্যবহার explicit
মানে হল আপনার ক্লাসের ব্যবহারকারীদের একটি সুনির্দিষ্ট রূপান্তর করতে প্রয়োজন হবে:
byte[] foo = new byte[] { 1, 2, 3, 4, 5 };
// explicitly convert foo into an instance of MyClass...
MyClass bar = (MyClass)foo;
// explicitly convert bar into a new byte[] array...
byte[] baz = (byte[])bar;
ব্যবহার implicit
মানে হল আপনার ক্লাসের ব্যবহারকারীদের একটি সুনির্দিষ্ট রূপান্তর সঞ্চালন প্রয়োজন হবে না, এটা সব স্বচ্ছভাবে ঘটবে:
byte[] foo = new byte[] { 1, 2, 3, 4, 5 };
// imlpicitly convert foo into an instance of MyClass...
MyClass bar = foo;
// implicitly convert bar into a new byte[] array...
byte[] baz = bar;