-
יש לי מודל כזה:
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";
אבל זה דורש מיפוי מחדש של כל המאפיינים הקיימים לאובייקט הדינמי. האם יש קיצור דרך?
-
@odeddvir אמר בC# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?:
האם יש קיצור דרך?
-
@dovid אמר בC# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?:
@odeddvir אין דרך קלה, זה נכות מסויימת של השפות עם הטיפוסיות חזקה.
לפי קו החשיבה והמנטליות של שפות עם טיפוסיות חזקה - זו לא נכות, אלא מעלה!
אם תתבונן טוב תראה שאין בזה צורך ויש דרכים איך לעשות דברים בצורה נכונה, לפי הראש של שפות עם טיפוסיות חזקה. -
@odeddvir אמר בC# הוספת מאפיינים לאובייקט באופן דינמי - היתכן?:
אבל אני לא רוצה להכניס את המאפיין מראש להגדרה של המודל, אלא רק להוסיף אותו למופע באופן דינמי
למה?
האם אתה ראשון בעולם שמתמודד עם בעיה דומה? כדאי לבדוק מה מיליוני מתכנתים שכותבים בשפות עם טיפוסיות חזקה עושים במקרים כמו שלך. -