我确定标题是否具有解释性,但我需要一些帮助来理解这个概念。
我们有类(引用类型),它具有与 Type 对象关联的方法表。除了方法表之外,类型对象还包含所有静态字段、类型 obj 指针和同步块索引。
在引用类型的实例上调用方法时,CLR 会引用此方法表。
方法表包含用于更改实例字段状态的特定方法的 IL。
类似地,我们可以为结构(值类型)定义方法。
在运行时,当在值类型上调用方法时,CLR 从何处引用在值类型的实例上调用的方法的 IL。
struct A
{
// for Immutability of value type
public readonly int a;
public void MethodOnValueType()
{
// Some code here
}
}
Run Code Online (Sandbox Code Playgroud)
CLR 在哪里引用查找名为“MethodOnValueType”的方法的 IL?
托管堆中的值类型是否有任何类型对象?
我确定引用类型的情况,但对值类型感到困惑。
谢谢。
我在配置NHibernate以检索我的MVC 4应用程序中的数据时遇到一些问题.
为了简单起见,我在Index方法中配置了所有代码.
这是我的类别控制器的代码:

这是我在web.config中的配置:
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="NHibernate.Test">
<property name="connection.driver_class">
NHibernate.Driver.SqlClientDriver
</property>
<property name="connection.connection_string">
Data Source=.;Initial Catalog=UsingNH;uid=myuid;Password=mypwd
</property>
<property name="adonet.batch_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="use_outer_join">true</property>
<property name="command_timeout">60</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="proxyfactory.factory_class">
NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu
</property>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
Category的映射文件是
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="nhibernate-mapping-2.2" namespace="UsingNHibernate.Models" assembly="UsingNHibernate">
<class name="Category" table="Categories" lazy="false">
<id name="Id" columnId="Id" unsaved-value="0">
<generator class="native" />
</id>
<property name="Name">
<column name="Name" data-type="varchar(50)" not-null="true" />
</property>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
和类表模式是
CREATE TABLE [dbo].[Categories]( …Run Code Online (Sandbox Code Playgroud)