मैं निम्नलिखित वर्ग घोषणा की है:सी # पैरामीटर के रूप में इंटरफेस के साथ किसी ऑब्जेक्ट का समर्थन क्यों नहीं करता है?
public class EntityTag : BaseEntity, ITaggable
मैं एक HTML सहायक विधि है:
public static string TagCloud(this HtmlHelper html, IQueryable<ITaggable> taggables,
int numberOfStyleVariations, string divId)
यह मेरा ASP.NET MVC ascx है:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IQueryable<EDN.MVC.Models.EntityTag>>" %>
<%@Import Namespace="EDN.MVC.Helpers" %>
<%= Html.TagCloud(Model, 6, "entity-tags") %>
जब मैं में पारित एसीएक्स के लिए एक IQueryable संग्रह, मुझे यह त्रुटि मिलती है:
संकलन er त्रुटि संदेश: CS1928: 'System.Web.Mvc.HtmlHelper>' में 'टैगक्लाउड' और सर्वोत्तम एक्सटेंशन विधि अधिभार 'EDN.MVC.Helpers.EdnHelpers.TagCloud (System.Web.Mvc.HtmlHelper, - मूल्यों मैं गुजर रहा हूँ
public static string TagCloud(this HtmlHelper html, IQueryable<Object> taggables, int numberOfStyleVariations, string divId)
{
var tags = new List<ITaggable>();
foreach (var obj in taggables)
{
tags.Add(obj as ITaggable);
}
return TagCloud(html, tags.AsQueryable(), numberOfStyleVariations, divId);
}
मैं एक ही त्रुटि मिलती है: System.Linq.IQueryable, पूर्णांक, स्ट्रिंग) 'में कुछ ऐसी अमान्य तर्क
अगर मैं स्पष्ट रूप से इस के साथ वस्तु संग्रह बदलने की कोशिश है में कंपाइलर पसंद नहीं है।
क्या मेरी EntityTag क्लास स्वचालित रूप से IQueryable के रूप में समर्थित नहीं होनी चाहिए? मैं क्या खो रहा हूँ? यह कुछ स्पष्ट होना है। (मुझे आशा है।)
आईटेक्टेबल IQueryable से प्राप्त करता है? –
आप जिस मॉडल पैरामीटर को पार कर रहे हैं वह क्या है? मुझे लगता है कि कुछ कारणों से पैरामीटर को IQueryable में परिवर्तित नहीं किया जा सकता है। –
टोनी: EntityTag बेसइन्टिटी से निकलता है और ITaggable –