ভিজ্যুয়াল স্টুডিও - রেসেক্স ফাইলটি ডিফল্ট 'অভ্যন্তরীণ' থেকে 'সর্বজনীন'


165

প্রতিবার আমি ভিএস-তে কোনও রিসোর্স ফাইল সম্পাদনা করি, এটি সংশ্লিষ্ট কোডটি পুনরায় জেনারেট করে এবং শ্রেণীর অ্যাক্সেস পরিবর্তককে অভ্যন্তরীণে সেট করে।
এটি Ctrl-F -> - এ প্রতিবার আমি যখনই রেজেক্সটি সম্পাদনা করি ততবার প্রতিস্থাপন করুন to এমন কোনও সম্পত্তি / সেটিং আছে যাতে আমি জনসাধারণের কাছে এটি ডিফল্ট করতে পারি?

internal class MyResource {

     internal static global::System.Resources.ResourceManager ResourceManager {...}

}

আমি সমস্ত প্রয়োজন internalহতে publicসব সময়।


@ জাভানরহিন: কারণ সমাধানের অন্য একটি প্রকল্প থেকে আমার এর সংস্থান পরিচালককে অ্যাক্সেস করতে হবে।
— রবিন মাবেন

উত্তর:


334

পরিবর্তে ResXFileCodeGenerator, ব্যবহার করুন PublicResXFileCodeGenerator।

আপনি যে জনসাধারণের অ্যাক্সেস পেতে চান সেই রেজেক্স ফাইলটির জন্য সম্পত্তি উইন্ডোতে কাস্টম টুল সম্পত্তি হিসাবে সেট করে আপনি এটি করতে পারেন।

সম্পাদনা করুন : আপনি যখন ভিজুয়াল স্টুডিওতে রেজেক্স ফাইলটি খুলবেন তখন পর্যায়ক্রমে আপনি অ্যাক্সেস মডিফায়ারটিকে জনসাধারণের কাছে সেট করতে পারেন। অ্যাক্সেস মডিফায়ার ড্রপডাউন বাক্সটি ফর্মের শীর্ষে পাওয়া যাবে।


13
(উত্তম উত্তর; তবে কয়েকটি নোট; এটি GlobalResourceProxyGeneratorকেবলমাত্র নয় ResXFileCodeGenerator; এবং এটিও নোট করুন যে "অ্যাক্সেস মোডোফায়ার" ড্রপডাউন প্রায়শই অক্ষম থাকে)
— মার্ক গ্র্যাভেল

@ অ্যানটন: ধন্যবাদ, আমার ক্ষেত্রে কাজ করে। এছাড়াও, আমি লক্ষ্য করেছি যে ড্রপ ডাউন থেকে অ্যাক্সেস মডিফায়ার পরিবর্তন করে সংশ্লিষ্ট সরঞ্জামকে পরিবর্তন করে।
— রবিন মাবেন

1
@ কনকনেটর: সে কারণেই আমি একই পরিণতিতে পৌঁছানোর বিকল্প উপায় হিসাবে অ্যাক্সেস মডিফায়ার ড্রপডাউন ব্যবহার করার প্রস্তাব দিয়েছিলাম :)
— আন্তন

2
বিটিডাব্লু যদি অ্যাক্সেস মডিফায়ার ড্রপডাউন অক্ষম থাকে, আপনি কাস্টম টুল সম্পত্তিটি রেসএক্সফিলকোডিজেনেটরে পরিবর্তন করার চেষ্টা করতে পারেন, যদি এটি মান না হয়। কমপক্ষে ভিসি ২০১০
— ম্যানুয়েল নাভারো

1
আমার জন্য ভিজ্যুয়াল স্টুডিও 2017 এর সাথে PublicResXFileCodeGeneratorএকমাত্র নির্বাচন করা সংস্থানকারীর জন্য নয়, কেবলমাত্র উত্স শ্রেণিকে সর্বজনীন করে তোলে।
— লরেন্ট মিশেল

13
  1. রিসোর্স ফাইল ( resource.resx) => বৈশিষ্ট্যে রাইট ক্লিক করুন ।

  2. কাস্টম সরঞ্জাম => এ পরিবর্তন করুনPublicResXFileCodeGenerator


-7

সম্ভবত সবচেয়ে সহজ উপায় একটি পাবলিক কর্টর দিয়ে একটি উত্পন্ন ক্লাস তৈরি করা?

উত্পন্ন শ্রেণি:

 [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
    internal Strings() {
    }

উদ্ভূত শ্রেণি:

public class PublicStrings : Strings
{
    /// <summary>
    /// Public localization Strings.
    /// </summary>
    public PublicStrings()
    {

    }
}

13
যদি সম্ভব না হয়. আপনি একটি ত্রুটি পাবেন CS0060 অসামঞ্জস্য অ্যাক্সেসযোগ্যতা: বেস ক্লাস 'স্ট্রিংস' ক্লাস 'পাবলিক স্ট্রিংস' এর চেয়ে কম অ্যাক্সেসযোগ্য
— ডেভিড গার্ডিনার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.