我想创建一个通用的TypeScript类,用于呈现(作为HTML )实现特定interface的对象数组。
例如:
class GenericListRenderer<T> {
items: T[];
constructor(listItems: T[], className?: string){
this.items = listItems;
...
}
private getPropertyNames(): string[]{
// What is the best way to access all property
在使用城堡的动态代理时,我遇到了一些(我认为是)奇怪的行为。
使用以下代码:
class Program
{
static void Main(string[] args)
{
var c = new InterceptedClass();
var i = new Interceptor();
var cp = new ProxyGenerator().CreateClassProxyWithTarget(c, i);
cp.Method1();
cp.Method2();
C
在过去的几个小时里,我一直在搜索和测试,但我似乎无法得到我想要的结果。我试图从嵌套属性中获取一个值。
我可以在没有问题的情况下获得以下属性名称。
public static IList<string> GetClassPropertyNames(object myObject)
{
List<string> propertyList = new List<string>();
if (myObject != null)
{
var a = myObject.GetType().GetProperty("
我感兴趣的是有一个函数可以在任何keyof T上通用操作,但断言T[K]是特定类型(即string)。我认为下面的代码示例最能说明这一点: interface FooBar {
x: string;
y: number;
}
function foo<K extends keyof FooBar, ???>(propertyName: K, fooBar: FooBar) {
const value = fooBar[propertyName];
// I want the type of value to be `string`
} 我可以申请什么?让fooB