سلام
من یک dll ساختم که در آن سه تابع وجود دارد.دوتا از توابع در برنامه ها قابل دسترسی نیستند!!!
در solution explorerکنار نام این توابع یک علامت قفل قرار گرفته است(احتمالا به خاطر همین قفل است!!؟)
چگونه این مشکل را حل نمایم و دو تابع مورد نظر را دسترس پذیر نمایم؟
تشکر
کد داخل کلاس را قرار دهید
لطفا برای دانلود کدها اینجا کلیک کنید
تشکر
کد رو از طریق ادیتور و کلید کد قرار دهید
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace elmdoostan
{
public class elmdoostanClass
{
/*************************************standardDate***********************************************/
//این تابع برای تبدیل تاریخ به فرم استاندارد است.منظور ما از فرم استاندارد
//این است که ماه و روز سال حتما دورقمی شوند.مثلا به جای 5 بنویسد 05
public string standardDate(string date)
{
string subDate;
int n = date.Count();//اول ببینیم که تارخ چند رقمی است
if (n == 10)//وقتی تاریخ 10رقمی باشد،یعنی به فرم استاندارد است
return date;
else if (n == 8)//اگر تاریخ 8رقمی باشد،یعنی هم ماه و هم روز،یک رقمی اند
{
date = date.Insert(5, "0");//عنصر پنجم ما ماه است،پس یک صفر کنارش قرار می دهیم
date = date.Insert(8, "0");//عنصر هشتم ما روز است،پس یک صفر کنارش قرار می دهیم
return date;
}
else//اگر موارد بالا نباشد،یعنی یا ماه یک رقمی است و یا روز
{
subDate = date.Substring(5, 2);//از اندیس پنجم به بعد تاریخ،2تا جدا میکنیم
bool b = subDate.Contains('/');
if (b)//اگر عنصری که جدا کردیم ،ممیز داشت،یعنی ماه یک رقمی است
{ date = date.Insert(5, "0"); return date; }
else//در غیر این صورت روز یک رقمی است
{ date = date.Insert(8, "0"); return date; }
}
}
/**************************************standardDate*****************************************/
/**************************************subtractionTimes*****************************************/
string subtractionTimes(string m, string n)//تابعی برای تفریق دو زمان
{
int colon1 = m.IndexOf(":");//ساعت ممکن است بیش از دورقم باشد.پس اندیس را میابیم
string h1 = m.Substring(0, colon1);//ساعت را استخراج می کنیم
string m1 = m.Replace(h1 + ":", "");//دقیقه را استخراج می نماییم
int min1 = Convert.ToInt32(h1) * 60 + Convert.ToInt32(m1);//دقیقه را به عدد تبدیل می کنیم تا بتوانیم محاسبات انجام دهیم
int colon2 = n.IndexOf(":");
string h2 = n.Substring(0, colon2);
string m2 = n.Replace(h2 + ":", "");
int min2 = Convert.ToInt32(h2) * 60 + Convert.ToInt32(m2);
int min = min1 - min2;//در تفریق دوزمان،چون چیزی به اسم قرض کردن نداریم،مجبوریم همه را به دقیقه تبدیل و بعد تفریق کنیم
//حالا می بینیم که حاصل تفریق چندساعت و چند دقیقه شده است
int hour = min / 60;
int minute = min % 60;
return hour.ToString() + ":" + minute.ToString();
}
/*************************************subtractionTimes******************************************/
/*************************************additionTime******************************************/
string additionTimes(string p, string q)//تابعی برای جمع دو زمان
{
int colon1 = p.IndexOf(":");//ساعت ممکن است بیش از دورقم باشد.پس اندیس را میابیم
string h1 = p.Substring(0, colon1);//ساعت را استخراج می کنیم
string m1 = p.Replace(h1 + ":", "");//دقیقه را استخراج می نماییم
int min1 = Convert.ToInt32(h1) * 60 + Convert.ToInt32(m1);//دقیقه را به عدد تبدیل می کنیم تا بتوانیم محاسبات انجام دهیم
int colon2 = q.IndexOf(":");
string h2 = q.Substring(0, colon2);
string m2 = q.Replace(h2 + ":", "");
int min2 = Convert.ToInt32(h2) * 60 + Convert.ToInt32(m2);
int min = min1 + min2;//در تفریق دوزمان،چون چیزی به اسم ده بر یک نداریم،مجبوریم همه را به دقیقه تبدیل و بعد جمع کنیم
//حالا می بینیم که حاصل جمع چندساعت و چند دقیقه شده است
int hour = min / 60;
int minute = min % 60;
return hour.ToString() + ":" + minute.ToString();
}
/*************************************additionTime******************************************/
}
}
دو متد دوم را punblic کنید درست میشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)