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


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.