type-parameter 相关问题

类型参数是其值为类型的参数。

Scala 3 泛型方法类型参数不起作用

作品: 特征变压器[A,B] { def 变换(a: A): B } 类 TransformerImpl 扩展 Transformer[Int, String] { 覆盖 def 变换(值:Int):String = { 值到字符串 } } 这...

回答 1 投票 0

如何指定类的类型参数必须继承类本身? ( A 类<T : A>{ __ } ) |科特林

我有一个带有类型参数的抽象类: 抽象类 AClass(){ ___ } 但是,我想指定类型 T 必须是 AClass 本身的子级。 抽象类AClass 我有一个带有类型参数的抽象类: abstract class AClass<T>(){ ___ } 但是,我想指定类型 T 必须是 AClass 本身的子类型。 abstract class AClass<T : AClass>(){ ___ } 这行不通。我也尝试过: abstract class AClass<T : AClass<*>>(){ ___ } 但是 IDE 给了我一个 Finite Bound Restriction 错误。 是否有可能在 Kotlin 中实现所需的行为? 尽管其他一些语言支持此 self 类型参数,但这在 kotlin 中是不可能。因为它可能会导致递归泛型。 Kotlin 团队报告称,此功能的实现很难适应 Kotlin 设计。而且自我类型感觉太吵了。 有用的链接: https://youtrack.jetbrains.com/issue/KT-6494#comment=27-882961 https://discuss.kotlinlang.org/t/self-types/371/86 https://discuss.kotlinlang.org/t/this-type/1421/10

回答 1 投票 0

如何参数化这个方法并使其更加灵活?

我正在编写一个用 C# 创建 Quartz 调度作业的方法。目前看起来是这样的。 私有异步任务BuildJobs(int startHour,int endHour,int IntervalOffsetSeconds = 0) { 尝试 { ...

回答 1 投票 0

Java 中泛型强制转换操作的使用

考虑以下代码片段: 公共静态TconvertInstanceOfObject(对象o){ 尝试 { Trv = (T)o; 返回房车; } catch(java.lang.ClassCastException e) { ...

回答 1 投票 0

在两个本身就是模板的模板类型参数之间强制使用通用模板类型参数

在C++中,有什么方法可以确保两个或多个模板类型参数本身就是具有公共模板类型参数的模板类型? 假设我有这个: 结构体任意类型{};

回答 2 投票 0

C++ 在两个本身就是模板的模板类型参数之间强制使用通用模板类型参数

在C++中,有什么方法可以确保两个或多个模板类型参数本身就是具有公共模板类型参数的模板类型? 假设我有这个: 结构体任意类型{};

回答 1 投票 0

Blazor - 表列组件的 SortBy 参数

我正在使用 Blazor,希望能够通过采用 lambda 表达式的 SortBy 参数按给定列对数据网格(表)进行排序。它看起来像这样: 我正在使用 Blazor,希望能够通过采用 lambda 表达式的 SortBy 参数按给定列对数据网格(表)进行排序。它看起来像这样: <DataGrid Items="Orders"> <GridHeader> <GridColumn Label="Order Number" SortBy="@(order => order.OrderNumber)" /> <GridColumn Label="Order Date" SortBy="@(order => order.Date)" /> <GridColumn Label="Order Status" SortBy="@(order => order.Status)" /> <GridColumn Label="Number of Line Items" SortBy="@(order => order.LineItems.Count)" /> </GridHeader> <GridRow Context="order"> <td>@order.OrderNumber</td> <td>@order.OrderDate</td> <td>@order.Status</td> <td>@order.LineItems.Count</td> </GridRow> </Table> Grid 组件应该能够采用任何类型的 IEnumerable(如 IEnumerable<Order>),因此 <DataGrid> 组件应该具有与其行项目关联的通用类型,通过 @typeparam TableItem 设置。我遇到的问题是能够在 TableItem GridColumn 参数中引用 SortBy 类型。我需要它,以便我的代码编辑器 (Visual Studio) 识别 TableItem lambda 表达式中的 SortBy 类型,以便(在本例中)当我开始输入 SortBy="@(order => order.)" 时,它将订单识别为类型 Order智能感知将显示该类型的属性。我认为该解决方案与使用级联参数 (CascadingValue) 和 @typeparam 有关,但我一直无法让它工作,并且想知道 Blazor 是否存在当前限制,导致其无法工作(例如,请参阅 this github issues,该问题仍处于开放状态)。 这是否可能,如果可以,我应该在这里使用什么方法? 抱歉,我没有给你直接的答案,但你可以看到这个项目的可排序和可过滤表,包括 lambda 表达式。我正在我的项目中使用它,目前运行良好。希望您觉得它有用:)。 Blazor 可排序表。 我不完全理解 - 您是否想要指定每列如何单独排序,或者您想要指定通过网格中表示的实体的哪些属性来排序所有项目? 第一个没有意义,因为列之间没有任何关系。后者更有意义,并且实际上更接近我的做法,但我不会将其称为 SortBy,我宁愿将其称为 Property,因为您可以使用该表达式指定该列中表示的属性,但是让我详细说明一下... 通常,如何做到这一点在很大程度上取决于组件的构成方式。我自己也尝试开发一个 DataGrid 组件,最终我在 this 之上进行构建。我对它进行了很多定制,其中之一就是排序。它实际上比你想象的要容易得多。 链接中示例的工作方式是:您使用列上的表达式指定属性。然后可以编译该表达式并使用它来提取从指定实体表示的属性值(尝试深入研究代码,它位于 GridColumns CellTemplate 中)。 <th> 和 <td> 元素正在与 RenderTreebuilder 一起构建。 现在要实现排序,您可以执行以下操作并在 DataGrid 上创建一个公共方法 .SortItems(Func<TEntity, object> sortFunc),该方法接受指定要排序的属性的 func。这可以是设置该列表示的属性时指定的表达式。 SortFunc 可以直接使用 .OrderBy() 和 .OrderByDescending() 应用于您的项目列表,然后再将其传递到标记。 // ChildGridColumn // Method being called when clicking a column header, passes along property func private void OnSort() { if (CompiledProperty != null) ParentDataGrid?.SortItems(CompiledProperty); } // ParentGrid // SortMode differentiating ascending and descending sort modes. public enum SortMode { Ascending, Descending, } // Method sets the specfified sortFunc, provided by the GridColumn public void SortItems(Func<TEntity, object> sortFunc) { SortFunc = sortFunc; if (SortMode == SortMode.Ascending) SortMode = SortMode.Descending; else if (SortMode == SortMode.Descending) SortMode = SortMode.Ascending; StateHasChanged(); } // Method sorts according to the SortMode private IEnumerable<TEntity> GetSortedItems() { return SortMode switch { SortMode.Descending => Items.OrderByDescending(SortFunc), SortMode.Ascending or _ => Items.OrderBy(SortFunc), }; } 如果您想知道如何向由 RenderTreeBuilder 构建的 HTML 元素添加事件处理程序,这里还有另一个简短的示例: var style = GetHeaderStyle(); var clickEvent = EventCallback.Factory.Create<MouseEventArgs>(this, OnSort); builder.OpenElement(0, "td"); builder.AddAttribute(1, "width", Width); builder.AddAttribute(2, "style", style); builder.AddAttribute(3, "onclick", clickEvent); builder.AddAttribute(4, "onmouseleave", hoverEvent); builder.AddContent(5, title); builder.CloseElement(); 你应该查一下,它很容易学习,并且有足够多的表达能力的资源。

回答 2 投票 0

在匿名类中捕获类型参数

我想动态创建一个类,它实现给定的接口并绑定该接口的类型参数。这是我的接口定义: 公共接口容器...

回答 1 投票 0

在已知支持类型之前指定算术运算?

我正在尝试编写一个接口,用户应该能够通过该接口传递独立于数字类型的任意算术函数,然后帮助程序代码将它们绑定到适当的支持 N...

回答 1 投票 0

如何在 Z3 Java API 中声明带有类型参数的数据类型?

使用 Z3 可以声明采用类型参数的自定义数据类型(即记录)。例如,第一个和第二个元素分别采用 T1 和 T2 类型的 Pair 是 de...

回答 1 投票 0

如何将类引用传递给泛型类型参数?

我想将同一个类的引用动态地传递给 GetInquiry 类,就像传递给 MyClass 一样。 公共课 MyClass 其中 T:类 { 公共T查询(T obj) {

回答 0 投票 0

仅存在隐式转换,尽管从未应用,但仍可以编译程序

考虑方法f,它由类型构造函数F [_]和适当的类型A参数化def f [F [_],A](v:F [A])= v让我们尝试将其应用于新的Bar scala > class Bar class Bar scala> def f [F [...

回答 1 投票 4

为什么合适的类型Any和Nothing适合不同类型的构造函数形状F [_],当它们不同时呢?

考虑以下采用*-> * kind def g [F [_]] =类型参数的方法?为什么以下不是语法错误g [Any] //好的g [Nothing] //好的,因为scala>:kind -v ...

回答 1 投票 2

Scala中的书面代数数据类型

在Haskell中,我可以定义一棵树:数据树a =空|节点a(树a)(树a)如何在Scala中编写它?我不确定如何在Scala中为Node保留类型参数[A]来匹配Tree的...

回答 1 投票 37

类型参数避免匹配穷举性警告

为什么受密封类型限制的类型参数似乎不提高穷举性警告密封特性A案例类B()扩展了A案例类C(i:Option [Int])扩展了A def f [T ] >

回答 1 投票 1

通过方法类型参数分配给类型成员的值打破类型等效性

为什么以下类型对等性保留特征Foo {type T} val fa = new Foo {type T = Int}隐式[fa.T =:= Int] //可以,但是通过方法参数A分配了类型成员T时然后...

回答 2 投票 2

Java二级泛型奇怪行为

我有以下逻辑公共类,为什么{公共静态void main(String [] args){Gen gen = new Gen<>(); gen.m(new A()); //eeeeeeeeee A } } class A {} ...

回答 1 投票 1

谁能提出一种优雅的方法来编写通用的C#Dapper过程以返回n个结果集?

我使用Dapper创建了少量通用过程,以返回任何给定类型的列表或单个项(使用SQL端的SP)以用于DI模型数据服务,例如公共...

回答 1 投票 2

Java为什么不允许扩展类型参数?

为什么此代码无法编译?公共类Wrapper 扩展了T {}是因为从语义上讲这不是一个正确的设计选择吗?还是在物理上无法以任何语言编译...

回答 1 投票 1

C#-将“ this”作为类型参数[重复项]

我正在C#中尝试执行以下操作:公共抽象类X {Y y {get;组; }}基本上,“ this”指向X的当前子类的类型。如何执行此操作?

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.