আমি একটি প্রোটোটাইপ টিসিপি সংযোগ লিখছি এবং ডেটা প্রেরণের জন্য একত্রীকরণ করতে আমার কিছুটা সমস্যা হচ্ছে।
এই মুহুর্তে, আমি স্ট্রিং ব্যতীত আর কিছুই পাঠাচ্ছি না, তবে ভবিষ্যতে আমরা কোনও বস্তু পাঠাতে সক্ষম হতে চাই be
কোডটি এই মুহূর্তে বেশ সহজ, কারণ আমি ভেবেছিলাম যে সমস্ত কিছু বাইট অ্যারেতে ফেলে দেওয়া যেতে পারে:
void SendData(object headerObject, object bodyObject)
{
byte[] header = (byte[])headerObject; //strings at runtime,
byte[] body = (byte[])bodyObject; //invalid cast exception
// Unable to cast object of type 'System.String' to type 'System.Byte[]'.
...
}
এটি অবশ্যই একটি সঙ্গে সহজেই যথেষ্ট সমাধান করা হয়
if( state.headerObject is System.String ){...}
সমস্যাটি হ'ল, যদি আমি সেভাবে এটি করি তবে আমার প্রতিটি ধরণের অবজেক্টের জন্য যাচাই করা দরকার যা রানটাইমগুলিতে একটি বাইটে কাস্ট করা যায় না]
যেহেতু রানটাইমের সময় যে সমস্ত বস্তু বাইটে কাস্ট করা যায় না আমি জানি না, এটি সত্যই কোনও বিকল্প নয়।
কীভাবে কেউ সি #। নেট 4.0 এ বাইট অ্যারে রূপান্তর করতে পারে?
FileStream
, বা যে কোনও বস্তু যা এইরকম একটি হ্যান্ডেল সজ্জিত করে)।