草庐IT

delegated-properties

全部标签

c# - 委托(delegate)给实例方法不能有 null 'this'

我正在开发一个C#.NET2.0应用程序,其中在运行时根据环境加载两个DLL之一。两个DLL包含相同的函数,但它们没有链接到相同的地址偏移量。我的问题是关于我的应用程序代码中的函数委托(delegate)。publicclassMyClass{publicdelegateintMyFunctionDelegate(int_some,string_args);publicMyFunctionDelegateMyFuncToCallFrmApp;publicMyClass():base(){this.MyFuncToCallFrmApp=newMyFunctionDelegate(this

c# - 格式化日期时间错误 "Templates can be used only with field access, property access, single-dimension array index.."

在MVCRazorView中,我试图将DateTime字段格式化为仅显示时间。使用下面的代码我收到错误“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。”@(Html.DisplayFor(m=>row.LastUpdatedDate.ToString("HH:mm:ss")))任何帮助请问是什么导致了这个错误以及如何解决它?感谢您的帮助。 最佳答案 我遇到了同样的问题,我已经解决了。如果您想将“LastUpdatedDate”转换为特定格式,那么您可以试试这个:@Html.TextBoxFor(m=>row

C# Auto Property - 这是 'pattern' 最佳实践吗?

我似乎在我的代码中经常使用这种模式,我知道它不再是一个简单的自动属性:publicIListBCSFilters{get;set;}我一直使用的代码是这样的:privateIList_BCSFilters;//////GetsorsetstheBCSfilters.//////TheBCSfilters.publicIListBCSFilters{get{if(_BCSFilters==null){_BCSFilters=newList();}return_BCSFilters;}set{_BCSFilters=value;}}这样我就可以只执行MainClass.BCSFilters

c# - 分页后 TableCell 拆分 : remainder split part loses original cell properties

我有一个关于WPFFlowDocumentTable上的TableCell拆分策略的问题。这是一个简单的代码,可以重现问题:MainWindow.xaml.cs//////InteractionlogicforMainWindow.xaml///publicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();vartable=newTable(){BorderThickness=newThickness(1),BorderBrush=Brushes.Black,CellSpacing=0};var

c# - 在 OOP 中覆盖方法与分配方法委托(delegate)/事件

这是一个有点奇怪的oop问题。我想创建一组对象(在设计时已知),每个对象都有与之关联的某些功能。我可以通过为我的对象提供可以包含“代表”的属性来做到这一点:publicclassStateTransition{FuncCondition{get;set;}ActionActionToTake{get;set;}FuncVerifyActionWorked{get;set;}}StateTransitionfoo=newStateTransition{Condition=()=>{//...}//etc};或者,我可以使用一个抽象类并为我想创建的每个对象实现它:publicabstrac

c# - 测试委托(delegate)是否平等

我正在构建一个分层集合类,它在空间上对磁共振图像进行排序,并根据用于生成它们的各种采集参数将它们排列成组。用于执行分组的具体方法由类的用户提供。我在下面的示例代码中提取了相关功能。对于IEquatable实现,我希望能够比较_myHelperDelegate两个MyClass的属性实例以确定两个委托(delegate)是否指向同一段代码。(_myHelperDelegate==other._myHelperDelegate)下面if语句中的子句显然是执行此操作的错误方法(它无法编译,给出错误“预期的方法名称”)。我的问题是,有没有办法比较两个委托(delegate)以确定它们是否引用同

c# - 属性中的单词 "property:"是什么

你能解释一下“property:”这个词是什么意思吗?[property:NotifyParentProperty(true)]publicstringFilename{get;set;} 最佳答案 表示将Attribute应用于属性。在这种特定情况下,它是多余的,可以忽略不计。这种元素定义了AttributeTarget并且在目标可能不明确时最有用,例如目标method和return。VisualStudio还使用AssemblyInfo.cs中的目标assembly生成属性,它是许多项目模板的一部分。更多信息和可能的属性目标列表

c# - 分配免费委托(delegate)或其他方式通过地址调用方法?

我需要能够使用Mono在C#中基于函数指针调用单个方法。委托(delegate)为此工作得很好,这是他们的目的,但每次我设置委托(delegate)时他们似乎都分配52个字节(不是+=,而是使用=设置它,所以委托(delegate)总是引用一个且只有一个方法)。这个委托(delegate)每秒更改很多次,它会导致GC周期性地启动,我希望避免这种情况。我不介意初始内存分配,但有没有办法在我每次更改单个委托(delegate)值时阻止分配?如果不是,除了每次地址更改时不会分配任何内存的委托(delegate)之外,是否还有其他动态方式在C#中调用方法? 最佳答案

c# - 使用 ref 参数委托(delegate)

有什么方法可以在下面的代码中保持相同的功能,而不必创建委托(delegate)?我正在与包含多种DeleteSomethingX(refIntPtrptr)方法的第3方API交互,并且我正在尝试集中IntPtr.Zero检查的代码。privatevoiddelegateCleanupDelegate(refIntPtrptr);...privatevoidCleanup(refIntPtrptr,CleanupDelegatecleanup){if(ptr!=IntPtr.Zero){cleanup(refptr);}} 最佳答案

c# - 如何在不加载相关记录的情况下判断是否设置了Entity Framework中的Navigation Property

我不确定EF4中的导航属性,所以我想请您解释一下。让我们想象一下这个场景:一个)我的数据库中有两个实体A和B具有N对N(多对多)关系和树表A和B以及一个链接表AB有两个外键。在这种情况下,EF创建一个导航属性,我们称它为X和XReference。B)我的数据库中有两个实体A和B,关系为1到N(一对多)和两个表A和B有一个外键。在这种情况下,EF创建一个导航属性,我们将其称为Y但不是YReference。现在让我们采用场景A和B并尝试找出B中是否有任何A的引用:我的场景代码:一个):boolisA=a.XReference.EntityKey!=null;我不加载B记录(对吗?)乙):b