我有以下课程:
[Msg(Value = "YaaY")]
public class PersonContainer<T>  where T : new()
{
   ...
}
public class HappyPerson
{
   ...
}
[Msg(Value = "NaaY")]
public class SadPerson
{
   ...
}
使用以下方法,我可以获得"PersonContainer"的属性:
public void GetMsgVals(object personContainer)
{
    var info = personContainer.GetType();
    var attributes = (MsgAttribute[])info.GetCustomAttributes(typeof(MsgAttribute), false);
    var vals= attributes.Select(a => a.Value).ToArray();        
}
但是我只获得"PersonContainer"(即"YaaY")的属性,如何T (HappyPerson [if any] or SadPerson["NaaY"])在不知道T是什么的情况下获得运行时的属性?
我有一个包含以下文件的文件夹:
我希望能够实现以下输出: File_1.txt - File_2.txt
我试过跑:
ls .\file*.txt | %{$_.Name}
除了在不同的行上,它返回我想要的内容,如何加入给定字符返回的文件(-在本例中)?
任何帮助表示赞赏.
我正在使用ServiceStack.Ormlite v3.9.71并拥有以下代码段,我在其中打开 Ormlite SQLite 事务,假设我想在代码中其他地方的命令中使用此事务:
var connFactory = new OrmLiteConnectionFactory("ConnectionString", SqliteOrmLiteDialectProvider.Instance)
using (IDbConnection db = connFactory.Open()) // using var doesn't make a difference
using (IDbTransaction tran = db.OpenTransaction()) // using var or even db.BeginTransaction() doesn't make a difference
{
    // I do lots of boring stuff
    ...
    // Somewhere else in the code
    using (var cmd = db.CreateCommand())
    {
        cmd.Transaction = tran; // get an error
    }
}    
但是,当我这样做时,我得到:
A first chance exception of type 'System.InvalidCastException' occurred in …给定以下类型:
class Foo {
    constructor(
        private one: string, 
        private two: string, 
        private three: string) {
    }
}
我怎样才能有一个数组,其值是类型的属性?
例如,我需要能够得到一个数组:
['一二三']
注意我需要从类型而不是实例中提取属性,否则我可以简单地使用Object.keys(instanceOfFoo).