小编Bùi*_*ành的帖子

scala编译错误:类型不匹配; found:需要IndexedSeq [Int]:scala.collection.immutable.Seq [Int]

我不知道为什么以下scala代码无法编译:

import collection.immutable.Seq
def foo(nodes: Seq[Int]) = null
val nodes:IndexedSeq[Int] = null
foo(nodes)
Run Code Online (Sandbox Code Playgroud)

=>

error: type mismatch;
 found   : IndexedSeq[Int]
 required: scala.collection.immutable.Seq[Int]
             foo(nodes)
                 ^
Run Code Online (Sandbox Code Playgroud)

在scala-library中,声明了IndexedSeq:

trait IndexedSeq[+A] extends Seq[A]...
Run Code Online (Sandbox Code Playgroud)

scala compiler-errors

5
推荐指数
1
解决办法
1657
查看次数

.NET反射:如何获取在分部类上定义的属性

我使用.NET实体框架.我想将属性从一个EntityObject复制到另一个EntityObject.但System.Type.GetProperties()似乎不返回在分部类上定义的属性.

码:

在Visual Studio生成的XXX.edmx/XXX.Designer.cs中,我有类MyTable:

public partial class MyTable: EntityObject{..}
Run Code Online (Sandbox Code Playgroud)

我想为MyTable类添加一些属性,所以我添加文件XXX.Manual.cs:

public partial class MyTable: EntityObject{
    public string myProp{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

myTableObj.GetType().GetProperties()不包含myProp !!!

如何使用反射获取myProp?

[编辑]我想评论Alex回答,但不知道为什么代码部分没有格式化.

是的,这很奇怪.我使用此代码将实体中的属性复制到另一个obj:

public static void CopyTo(this EntityObject Entity, EntityObject another){
    var Type = Entity.GetType();
    foreach (var Property in Type.GetProperties()){
        ...
        Property.SetValue(another, Property.GetValue(Entity, null), null);
    }
}
//in some other place:
myTableObj.CopyTo(anotherTableObj);
Run Code Online (Sandbox Code Playgroud)

其中myTableObj和anotherTableObj的类型为MyTable.

当调试到CopyTo方法时,VS显示实体和另一个是MyTable类型,我可以看到Entity.myProp,另一个.myProp

但foreach语句中的Property var根本不会循环到myProp属性!

[编辑]抱歉.上面的代码(CopyTo方法)是来自diamandiev的另一个问题的答案的副本

但他的代码是错误的:"break"语句必须替换为"continue":D

.net c# linq reflection entity-framework

4
推荐指数
1
解决办法
7143
查看次数

标签 统计

.net ×1

c# ×1

compiler-errors ×1

entity-framework ×1

linq ×1

reflection ×1

scala ×1