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

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

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

C# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 5 כותבים 252 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • OdedDvirO מנותק
    OdedDvirO מנותק
    OdedDvir
    כתב ב נערך לאחרונה על ידי OdedDvir
    #1

    יש לי מודל כזה:

    public class Filter {
       public string CompanyName {get; set; }
    ...
    }
    

    אני רוצה ליצור אובייקט חדש מתוך מופע של Filter שיכיל גם את המאפיין: Year, אבל אני לא רוצה להכניס את המאפיין מראש להגדרה של המודל, אלא רק להוסיף אותו למופע באופן דינמי, בדומה ל-JS שבה אם מבצעים השמה למאפיין שלא קיים באובייקט - הוא מתווסף באופן דינמי.
    היתכן?

    תוספת:
    ראיתי את הדוגמא הזו בסטאק:

    dynamic person = new ExpandoObject();
    person.FirstName = "Sam";
    person.LastName = "Lewis";
    person.Age = 42;
    person.Foo = "Bar";
    

    אבל זה דורש מיפוי מחדש של כל המאפיינים הקיימים לאובייקט הדינמי. האם יש קיצור דרך?

    Aharon 0A yossizY dovidD רחמיםר 4 תגובות תגובה אחרונה
    0
    • Aharon 0A מנותק
      Aharon 0A מנותק
      Aharon 0
      השיב לOdedDvir ב נערך לאחרונה על ידי
      #2

      @odeddvir עדיף להשתמש ב- dictionary ולא ב- dynamic. נתקלתי בבעיות ב- dotnet core. קוד שעבד לי ב framework לא עבד ב dotnet.

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

        @odeddvir אמר בC# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?:

        האם יש קיצור דרך?

        https://stackoverflow.com/a/42837044/8997905

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

        תגובה 1 תגובה אחרונה
        3
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לOdedDvir ב נערך לאחרונה על ידי dovid
          #4

          @odeddvir אין דרך קלה, זה נכות מסויימת של השפות עם הטיפוסיות חזקה.

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

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

          רחמיםר תגובה 1 תגובה אחרונה
          2
          • רחמיםר מנותק
            רחמיםר מנותק
            רחמים מורחק
            השיב לdovid ב נערך לאחרונה על ידי
            #5

            @dovid אמר בC# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?:

            @odeddvir אין דרך קלה, זה נכות מסויימת של השפות עם הטיפוסיות חזקה.

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

            תגובה 1 תגובה אחרונה
            0
            • רחמיםר מנותק
              רחמיםר מנותק
              רחמים מורחק
              השיב לOdedDvir ב נערך לאחרונה על ידי
              #6

              @odeddvir אמר בC# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?:

              אבל אני לא רוצה להכניס את המאפיין מראש להגדרה של המודל, אלא רק להוסיף אותו למופע באופן דינמי

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

              OdedDvirO תגובה 1 תגובה אחרונה
              0
              • OdedDvirO מנותק
                OdedDvirO מנותק
                OdedDvir
                השיב לרחמים ב נערך לאחרונה על ידי
                #7

                @רחמים ברור שאפשר למצא פתרון לבעיה גם עם ההגבלות של טיפוסיות חזקה. אני יכול להוריש את המחלקה למחלקה אחרת ולהוסיף בה את המאפיינים הנוספים, ולהשתמש בה במקרה הצורך.
                הרצון שלי היה לברר האם יש יכולת כזו (כגון קיצור תחבירי) בשפה עצמה.

                תגובה 1 תגובה אחרונה
                0
                • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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