小编six*_*wns的帖子

在装配加载时初始化库

我有一个.net库dll,就像一个函数库.有许多静态类型和静态方法.

我需要运行一些初始化代码来设置库以供使用.

当程序集加载时,是否有办法确保运行特定方法?像AppDomain.AssemblyLoad之类的东西,但是从程序集本身自动调用.我在想,也许有可能会使用像AssemblyAttribute这样的东西?

目前我在静态构造函数中有这个初始化代码,但由于这是一个包含许多入口点的库,因此无法保证将使用此特定类型.

谢谢!

.net c# assemblies

25
推荐指数
3
解决办法
2万
查看次数

在泛型类型的构造函数中使用C#params关键字

我在C#中有一个带有2个构造函数的泛型类:

public Houses(params T[] InitialiseElements)
{}
public Houses(int Num, T DefaultValue)
{}
Run Code Online (Sandbox Code Playgroud)

使用int作为泛型类型构造对象并传入两个int作为参数会导致调用"不正确"的构造函数(从我的角度来看).

例如Houses<int> houses = new Houses<int>(1,2)- 打电话给第二个construtor.将任何其他数量的int传递给构造函数将调用第一个构造函数.

除了删除params关键字并强制用户在使用第一个构造函数时传递T数组,还有什么方法吗?

.net c# c#-3.0

8
推荐指数
1
解决办法
1万
查看次数

扩展TypeConverter

DateTimeConverter类提供DateTime和string之间的转换.我还想支持DateTime和double之间的转换.

根据MSDN,我可以扩展DateTimeConverter类来执行此操作 - 请参阅MSDN DateTimeConverter

我创建了一个继承自DateTimeConverter的类,并为CanConvertTo,CanConvertFrom等提供了相应的覆盖.

当调用下面的代码时,如何确保框架使用我的DateTime转换器(DateTimeConverterEx)而不是BCL(DateTimeConverter)中提供的转换器?

    DateTime dt = DateTime.Now;
    // This line returns a DateTimeConverter which I don't want. 
    // Would like to get a DateTimeConverterEx.
    TypeConverter tc = TypeDescriptor.GetConverter(dt);
    double dbl = (double)tc.ConvertTo(dt, typeof(double));
Run Code Online (Sandbox Code Playgroud)

谢谢.

.net c# typeconverter

3
推荐指数
1
解决办法
1957
查看次数

标签 统计

.net ×3

c# ×3

assemblies ×1

c#-3.0 ×1

typeconverter ×1