Tag: 投射

如何将对象转换为Type类描述的类型?

我有一个对象: ExampleClass ex = new ExampleClass(); 和: Type TargetType 我想将ex类型转换为TargetType所描述的类型: Object o = (TargetType) ex; 但当我这样做时,我得到: 找不到类型或命名空间名称’t’ 那怎么办呢? 我在这里遗漏了一些东西吗? 更新: 我想得到这样的东西: public CustomClass MyClassOuter { get { return (CustomClass) otherClass; } } private otherClass; 因为我会有很多这样的属性,我想这样做: public CustomClass MyClassOuter { get { return (GetThisPropertyType()) otherClass; } } private SomeOtherTypeClass otherClass; 语境: 通常在我class级的上下文中,我需要创建许多属性。 并且在每一个都取代铸造属性的类型。 它对我来说似乎没有意义(在我的上下文中)因为我知道返回类型是什么,我想写一些代码来为我做演员。 也许是仿制药的情况,我还不知道。 这就像我可以保证在这个属性中我得到正确的对象并且是正确的类型并且100%能够将它转换为属性类型。 […]

.NET Casting通用列表

有人可以向我解释为什么在.NET 2.0中我有一个接口, IPackable和一个实现该接口OrderItem的类,当我有一个接收List ,传入List的List不行? 有谁知道我怎么能完成这个function? 码: public interface IPackable { double Weight{ get; } } public class OrderItem : IPackable public List GetForShipWeight(List packages) { double totalWeight = 0; foreach (IPackable package in packages) { totalWeight += package.Weight; } } 以下代码不起作用。 List orderItems = new List(); List shipMethods = GetForShipWeight(orderItems);

C#params object 奇怪的行为

考虑这个代码 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string[] strings = new string[] { “Test1”, “Test2”, “Test3” }; int[] ints = new int[] { 1, 2, 3, 4 }; Test(strings); Test(ints); } public static void Test(params object[] objects) { } } } 这个页面https://msdn.microsoft.com/fr-ca/library/w5zay9db.aspx 我希望(params object []对象)是一个元素的数组,以字符串[]作为第一个元素,但是当我调试时,我看到(params object []对象)是{“Test1”,“Test2” “,”Test3“}。 但是,使用int [],我得到一个object […]