مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

amiramir

عضویت از 1393/10/10

مشکل در فراخوانی توابع dll

  • شنبه 1 مهر 1396
  • 13:50
تشکر میکنم

سلام
من یک dll ساختم که در آن سه تابع وجود دارد.دوتا از توابع در برنامه ها قابل دسترسی نیستند!!!
در solution explorerکنار نام این توابع یک علامت قفل قرار گرفته است(احتمالا به خاطر همین قفل است!!؟)
چگونه این مشکل را حل نمایم و دو تابع مورد نظر را دسترس پذیر نمایم؟
تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 5 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 1 مهر 1396
  • 13:55

کد داخل کلاس را قرار دهید

کاربر سایت

amiramir

عضویت از 1393/10/10

  • شنبه 1 مهر 1396
  • 16:01

لطفا برای دانلود کدها اینجا کلیک کنید

تشکر

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 1 مهر 1396
  • 16:11

کد رو از طریق ادیتور و کلید کد قرار دهید

کاربر سایت

amir.yousefi

عضویت از 1396/04/26

  • یکشنبه 2 مهر 1396
  • 08:54
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******************************************/
    }    
}

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 2 مهر 1396
  • 09:39

دو متد دوم را punblic کنید درست میشه

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)