דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בתחביר C#

עזרה בתחביר C#

מתוזמן נעוץ נעול הועבר תכנות
10 פוסטים 3 כותבים 145 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • WWWW מנותק
    WWWW מנותק
    WWW
    כתב ב נערך לאחרונה על ידי WWW
    #1

    יש לי שורת קוד כזו:

    var user = (UserDefinition)Authorization.UserDefinition;
    

    ואז אני יכול להשתמש בערך:

    user.ClientId
    

    הבעיה שאני רוצה להשתמש בזה בשורה אחת, ללא משתנה.
    וזה:

    (UserDefinition)Authorization.UserDefinition.Id‏
    

    לא עובד.
    כנראה בגלל שה (UserDefinition) חל על ה Id, וצריך שיחול על ה UserDefinition שלפניו.

    איך כותבים את זה?

    חשבתי:

    ((UserDefinition)Authorization.UserDefinition).Id
    

    אבל זה גם מחזיר שגיאה.

    @dovid
    @clickone
    @yossiz

    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

    yossizY 2 תגובות תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2
      ((UserDefinition)Authorization.UserDefinition).Id;
      

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      1
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לWWW ב נערך לאחרונה על ידי
        #3

        @WWW אמר בעזרה בתחביר C#:

        @yossiz

        אתה בטח צוחק עלי?
        אבל מכיון שכבר הזכרת את שמי וכדי להציל אותך מחטא הזכרת שמי לשווא, כתבתי תוכנת נסיון, ונראה שהתחביר שהשתמשת אמור לעבוד.
        עוד לא הסתדרת?
        הנה תוכנת הנסיון:

        using System;
        
        namespace CastTest
        {
            interface IMyInterface
            {
            }
        
            class MyInterface : IMyInterface
            {
                public int I = 1;
            }
        
            class C
            {
                public IMyInterface mi = new MyInterface();
            }
        
            class Program
            {
                static void Main(string[] args)
                {
                    C c = new C();
                    // Console.WriteLine((c.mi).I); Error CS1061  'IMyInterface' does not contain a definition for 'I' 
                    Console.WriteLine(((MyInterface)c.mi).I); // עובד
                }
            }
        }
        

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        תגובה 1 תגובה אחרונה
        2
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי dovid
          #4

          אחרי התגובה של @yossiz אני רואה שכבר ניסית את מה שהצעתי.
          וכפי שהוא אמר זה בודאי עובד.
          תגיד מה השגיאה שאתה מקבל (תוכל להעתיק למטה בerror list).

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          WWWW תגובה 1 תגובה אחרונה
          2
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לWWW ב נערך לאחרונה על ידי
            #5

            @WWW אמר בעזרה בתחביר C#:

            ואז אני יכול להשתמש בערך:
            user.ClientId

            דרך אגב, כדי להשתמש בערך user.ClientId לכאורה אין צורך ב-cast. כנראה אתה משתמש במאפיינים נוספים של UserDefinition שלא הוגדרו ב-IUserDefinition

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            dovidD WWWW 2 תגובות תגובה אחרונה
            2
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              השיב לyossiz ב נערך לאחרונה על ידי
              #6

              @yossiz צודק,
              https://serenity.is/docs/authentication/iuserdefinition_interface

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              1
              • WWWW מנותק
                WWWW מנותק
                WWW
                השיב לyossiz ב נערך לאחרונה על ידי
                #7

                @yossiz אמר בעזרה בתחביר C#:

                @WWW אמר בעזרה בתחביר C#:

                ואז אני יכול להשתמש בערך:
                user.ClientId

                דרך אגב, כדי להשתמש בערך user.ClientId לכאורה אין צורך ב-cast. כנראה אתה משתמש במאפיינים נוספים של UserDefinition שלא הוגדרו ב-IUserDefinition

                כן כן, ה Id היה רק להפשטה.

                WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                תגובה 1 תגובה אחרונה
                1
                • WWWW מנותק
                  WWWW מנותק
                  WWW
                  השיב לdovid ב נערך לאחרונה על ידי
                  #8

                  @dovid אמר בעזרה בתחביר C#:

                  תגיד מה השגיאה שאתה מקבל (תוכל להעתיק למטה בerror list).

                  Error	CS0182	An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type	
                  
                  

                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מחובר
                    dovidD מחובר
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

                    אתה מעביר את הביטוי הזה לאטריביוט (כעת אני מבין למה ניסית לחסוך את המשתנה).
                    והשגיאה הזו אומרת שהערך שאטריביוט מקבל חייב להיות "קבוע" - ליטרל או כל ערך שידוע בזמן קומפילציה.

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    WWWW תגובה 1 תגובה אחרונה
                    3
                    • WWWW מנותק
                      WWWW מנותק
                      WWW
                      השיב לdovid ב נערך לאחרונה על ידי
                      #10

                      @dovid אמר בעזרה בתחביר C#:

                      אתה מעביר את הביטוי הזה לאטריביוט (כעת אני מבין למה ניסית לחסוך את המשתנה).
                      והשגיאה הזו אומרת שהערך שאטריביוט מקבל חייב להיות "קבוע" - ליטרל או כל ערך שידוע בזמן קומפילציה.

                      👍
                      תודה רבה!

                      WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                      תגובה 1 תגובה אחרונה
                      0

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום