সমাবেশ নামকরণ


190

সি # এর ব্যতিক্রম শ্রেণীর একটি উত্স সম্পত্তি রয়েছে যা পূর্বনির্ধারিতভাবে সমাবেশের নামে সেট করা হয়।
এই সঠিক স্ট্রিংটি পাওয়ার (অন্য কোনও স্ট্রিংকে পার্স না করে) পাওয়ার জন্য অন্য কোনও উপায় আছে কি?

আমি নিম্নলিখিত চেষ্টা করেছি:

catch(Exception e)
{
    string str = e.Source;         
    //"EPA" - what I want               
    str = System.Reflection.Assembly.GetExecutingAssembly().FullName;
    //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    str = typeof(Program).FullName;
    //"EPA.Program"
    str = typeof(Program).Assembly.FullName;
    //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    str = typeof(Program).Assembly.ToString();
    //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    str = typeof(Program).AssemblyQualifiedName;
    //"EPA.Program, EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}

উত্তর:


349
System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

অথবা

typeof(Program).Assembly.GetName().Name;

ভিএস সমাধানগুলি ব্যবহারের ক্ষেত্রে ত্রুটিগুলি দেখায়। আপনি এসেম্বলি.গেটএন্ট্রিঅ্যাস্প্যাসেস ()। গেটনাম () নাম ব্যবহার করতে পারেন;
বুটসটি

3
। আসলে এটা typeof (যে কোন) .GetTypeInfo () পরিষদের হওয়া উচিত
Thaina

7

আমি ফর্মের শিরোনামটি সেট করতে সমাবেশটি ব্যবহার করি:

private String BuildFormTitle()
{
    String AppName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
    String FormTitle = String.Format("{0} {1} ({2})", 
                                     AppName, 
                                     Application.ProductName, 
                                     Application.ProductVersion);
    return FormTitle;
}

1
কেবলমাত্র খুশি হোন যে আপনি কোনও অফিস অ্যাডিনের মধ্যে থেকে এটি কল করছেন না - যেখানে গেটএন্ট্রিঅ্যাস্প্যাসেস () বাতিল হয়ে যাবে
পান্ডাওয়ুড

3

আপনি এই কোডটি ব্যবহার করতে পারেন যা System.Reflection.AssemblyTitleAttribute.Titleসম্পত্তি ব্যবহার করে :

((AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false)).Title;


2

AssemblyNameসমাবেশের নাম পেতে আপনি ক্লাসটি ব্যবহার করতে পারেন , তবে আপনার যদি সমাবেশের পুরো নাম থাকে:

AssemblyName.GetAssemblyName(Assembly.GetExecutingAssembly().FullName).Name

অথবা

AssemblyName.GetAssemblyName(e.Source).Name

এমএসডিএন রেফারেন্স - সমাবেশ নাম ক্লাস


2
গেটএস্প্যাবলনাম পদ্ধতির প্যারামিটারের কারণে আমি ত্রুটি পেয়েছি। আমার মনে Assembly.GetExecutingAssembly().Locationহয় এর পরিবর্তে হওয়া উচিত ছিল Assembly.GetExecutingAssembly().FullName
uzay95

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.