অবশ্যই। আপনি যখন দুটি বস্তুর পার্থক্য করা যায় না তখন আপনি "দ্বিপাক্ষিক রেফারেন্স" সংকলক ত্রুটি পেতে পারেন। সাধারণত, আপনি কোডের পুরো পথটি নির্দিষ্ট করতে পারেন এবং এটি কোনও সমস্যা সৃষ্টি করবে না, তবে যদি ডলগুলি সম্পূর্ণরূপে অভিন্ন হয়, তবে আপনি কোনওভাবেই দুটি বস্তুর মধ্যে পার্থক্য করতে সক্ষম হবেন না। সায়া আমাদের দুটি ঘর আছে:
System.IO যার মধ্যে ফাইল ক্লাস রয়েছে
এবং
মাইপ্রজেক্ট.আইও যা একটি ফাইল ক্লাস ধারণ করে
আপনার যদি এমন কিছু থাকত ...
using System.IO;
using MyProject.IO;
...
private void foo()
{
File f = new File();
}
... আপনার একটি দ্ব্যর্থহীন রেফারেন্স হবে, যেহেতু আপনি কোন ফাইলটির বিষয়ে কথা বলছেন তা বলার উপায় নেই। এটি এটি ঠিক করবে:
using System.IO;
using MyProject.IO;
...
private void foo()
{
MyProject.IO.File f = new MyProject.IO.File();
}
দু'টি অ্যাসেমব্লিতেই যদি "ফাইল" এর পথ অভিন্ন হয় তবে এটি ঠিক করা একমাত্র উপায় হ'ল দু'টি ঘরের অভিন্ন নেমস্পেস কাঠামো থাকার ক্ষেত্রে এমন সম্ভাবনা নেই। উদাহরণস্বরূপ, উপরে আমার পরিস্থিতি কখনই ঘটবে না, যেহেতু কেউ সেখানে "সিস্টেম" প্রকল্পের নাম রাখছে না (নেট ফ্রেমওয়ার্কের প্রকৃত বিকাশকারীদের বাদে)।