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